gpt4 book ai didi

PHP二维数组打印索引而不是值

转载 作者:行者123 更新时间:2023-11-29 08:54:26 24 4
gpt4 key购买 nike

我在 PHP 中有一个二维数组,它打印数组的索引而不是值。

这是我设置数组的位置。

for($i = 1;$i <= $numOfCriteria;$i++)
{
for($j = 1;$j <= $numOfScores;$j++)
{
$description[$i][$j] = mysql_real_escape_string($_POST['descriptionPosition'.$i.$j]);
}
}

这是 SQL 查询。

for($i = 1;$i <= $numOfCriteria;$i++)
{
for($j = 1;$j <= $numOfScores;$j++)
{
$this->Instructor->query("INSERT INTO Criteria_Description (description,CriteriaID,ScoreID) VALUES (\"$description[$i][$j]\",\"$criteriaID[$i]\", \"$scoreID[$j]\")");
}
}

这就是它放入数据库的内容。

            Array[1]        
Array[2]
Array[1]
Array[2]

感谢您提前回复。

最佳答案

这是因为 PHP 的解析器无法正确识别字符串中的多个数组索引。

如果你尝试这样做:

<?php
$foo = array(array(array("bar")));
echo "wrong: \"$foo[0][0][0]\"" . PHP_EOL;
echo "right: \"{$foo[0][0][0]}\"" . PHP_EOL;

你会意识到:

wrong: "Array[0][0]"
right: "bar"

要解决此问题,如上所示,请使用 "{$var}" 语法。变量表达式周围的花括号确保解析器正确处理它:

$this->Instructor->query("INSERT INTO Criteria_Description (description,CriteriaID,ScoreID) VALUES (\"{$description[$i][$j]}\",\"{$criteriaID[$i]}\", \"{$scoreID[$j]}\")");

关于PHP二维数组打印索引而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com