1

我试图从索引数组中获取值,但是当我使用变量作为索引(等于数组中的索引)时,它不会出现。我得到一个Undefined Index错误。为什么会这样?有人知道吗?谢谢!

我有以下代码:

$bookarray = array();
                $books = mysqli_query($db, "SELECT * FROM books");
                while($row = mysqli_fetch_assoc($books)){
                    $bookarray[$row['bookID']] = array(
                        'title' => $row['title'],
                        'author' => $row['author'],
                        'price' => $row['price']
                    );
                }
                echo"<hr>";
                print_r($bookarray);
                echo"<hr>";
                echo $bookarray[5]['title']."<br />";


                foreach($_SESSION['cart'] as $cartedbook){
                    echo $cartedbook;
                    echo $bookarray[$cartedbook]['title'];
                    echo "<br />";
                }

这是输出:

图书


Array
(
[1] => Array
    (
        [title] => Java 2 for Pro Deelopers
        [author] => Michael Morgan
        [price] => 34.99
    )

[2] => Array
    (
        [title] => Installing XAMPP
        [author] => Thomas Down
        [price] => 24.99
    )

[3] => Array
    (
        [title] => Alice Through the Looking Glass
        [author] => Louis Carroll
        [price] => 72.35
    )

[4] => Array
    (
        [title] => Quantum Mechanics in 124 Hours
        [author] => Neils Bohr
        [price] => 24.99
    )

[5] => Array
    (
        [title] => PHP For Fun And Profit
        [author] => Thomas Shenk
        [price] => 49.99
    )

[28] => Array
    (
        [title] => Test
        [author] => Eric Gross
        [price] => 100.00
    )

)


PHP For Fun And Profit
5
Notice : Undefined index: 5 in C:\xampp\htdocs\FinalProject\cart.php52行


3
注意:未定义的索引:第52C:\xampp\htdocs\FinalProject\cart.php中的 3

标题 作者 价格

4

2 回答 2

1

mysql 查询的结果是字符串,即使它们是数据库中的整数。这会导致您$bookarray与数字字符串而不是数字索引相关联,您可能试图对它使用数字索引。

尝试将该 ID 转换为 int:

$bookarray[(int) $row['bookID']] = array(
于 2011-06-04T23:53:46.550 回答
0

如果我查看您的问题的来源,似乎数字前有一个换行符(因此,它会"\n5"代替5,在逻辑上找不到),您能确认一下吗?什么是var_dump($cartedbook);收益?

于 2011-06-04T23:55:27.453 回答