我有一个数据库调用,我试图找出什么$key => $value做的一个foreach循环.
我问的原因是因为这两个代码输出相同的东西,所以我试图理解为什么它是这样编写的.这是代码:
foreach($featured as $key => $value){
echo $value['name'];
}
Run Code Online (Sandbox Code Playgroud)
这输出相同:
foreach($featured as $value) {
echo $value['name'];
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,是什么样的区别$key => $value,或只是$value在$key => $value循环.数组是多维的,如果这有所不同,我只想知道为什么$value要foreach在$key循环中传递.
我有一个测试搜索软件,它将数据存储在多维数组中。我可以返回整个数据库,但不能仅返回一个值。我试图弄清楚如何将一个部分作为多维数组返回。否则,它将仅在显示中重复传递的值。在调试它时,我可以看到完整的数组作为参数存储,但是在弄清楚如何循环遍历该数组以正确显示时遇到了麻烦。您可能需要查看源以更好地理解。如果输入让我们说439023483,然后单击“按ISBN搜索”按钮,您将看到我的问题。全部显示按钮可以正常工作。任何向我指出正确方向的内容将不胜感激,并在此先感谢您。
这是测试源的链接:http : //mdhmotors.com/jstesting/test.html
这是我所坚持的部分代码:
function searchByISBN(isbn)
{
var isbn = document.getElementById('isbn').value;
showBooks(getBookByIsbn(isbn));
}
function getBookByIsbn(isbn)
{
var foundBook = null;
for (b in BookStore)
{
var book = BookStore[b];
if (book[ISBN] == isbn)
{
foundBook = new Array(book[ISBN], book[TITLE], book[AUTHOR], book[PUBLISHER], book[WS_PRICE], book[RET_PRICE], book[QUANTITY]);
break;
}
}
return foundBook;
}
/*display search results*/
function showBooks(searchResults)
{
//clearDisplayTable();
if (searchResults == null)
{
return;
}
var row, cell, displayTable, tableHeader, tableTitle;
displayTable = document.createElement('table');
displayTable.className = "mytable";
tableBody = …Run Code Online (Sandbox Code Playgroud)