Can';t访问php数组的元素
我真的很生气,我想知道是否有人能看出我做错了什么。我有一张填写“排练”数组的表格。到现在为止,一直都还不错。如果在我按下submit后,我恢复了Precape的值,我可以得到变量的打印,但变量本身没有内容,因此:Can';t访问php数组的元素,php,arrays,forms,Php,Arrays,Forms,我真的很生气,我想知道是否有人能看出我做错了什么。我有一张填写“排练”数组的表格。到现在为止,一直都还不错。如果在我按下submit后,我恢复了Precape的值,我可以得到变量的打印,但变量本身没有内容,因此: $rhearsal = $_POST['rehearsal']; foreach($rhearsal as $row) { print_r($row); echo "<br>plan:" . $row->plan . "<br><br
$rhearsal = $_POST['rehearsal'];
foreach($rhearsal as $row) {
print_r($row);
echo "<br>plan:" . $row->plan . "<br><br>";
}
换句话说,当我使用print\r打印变量时,该变量存在于$row
中,但当我尝试使用$row->plan
访问它时,它有一个空值
我以前在变量方面做过很多次,但在输入表单方面没有。如果有任何帮助,输入表单的格式为:
,其中$counter
是递增计数器
有人有什么想法吗?我已经浪费了一天的时间试图弄明白这一点——用不同的方式打字和重新打字。谢谢:)将您的代码更改为:
$rhearsal = $_POST['rehearsal'];
foreach($rhearsal as $row) {
print_r($row);
echo "<br>plan:" . $row['plan'] . "<br><br>";
}
由于$row
是一个数组,您可以通过这种方式获取它
通过使用
->
将代码更改为:
$rhearsal = $_POST['rehearsal'];
foreach($rhearsal as $row) {
print_r($row);
echo "<br>plan:" . $row['plan'] . "<br><br>";
}
由于$row
是一个数组,您可以通过这种方式获取它
使用
->
抓取对象如果您更喜欢使用对象表示法访问$row
中的值,则可以将$row
转换为对象:
$rhearsal = $_POST['rehearsal'];
foreach($rhearsal as $row) {
print_r($row); // here $row is an array()
$row = (object)$row;
print_r($row); // and now it's an object (stdClass)
echo "<br>plan:" . $row->plan . "<br><br>"; // this works as expected
}
$rhearsal=$\u POST[“排练”];
foreach($rhearsal作为$row){
print_r($row);//这里$row是一个数组()
$row=(对象)$row;
print_r($row);//现在它是一个对象(stdClass)
echo“
计划:”.$row->plan.“
”;//这按预期工作
}
如果您喜欢使用对象表示法访问$row
中的值,则可以将$row
转换为对象:
$rhearsal = $_POST['rehearsal'];
foreach($rhearsal as $row) {
print_r($row); // here $row is an array()
$row = (object)$row;
print_r($row); // and now it's an object (stdClass)
echo "<br>plan:" . $row->plan . "<br><br>"; // this works as expected
}
$rhearsal=$\u POST[“排练”];
foreach($rhearsal作为$row){
print_r($row);//这里$row是一个数组()
$row=(对象)$row;
print_r($row);//现在它是一个对象(stdClass)
echo“
计划:”.$row->plan.“
”;//这按预期工作
}
$row['plan']
因为$row
是一个数组
,而不是一个对象,所以您不能使用:错误报告(E\u ALL);ini_集('display_errors','1')
$row['plan']
因为$row
是一个数组
,而不是一个您不能使用的对象:错误报告(E\u ALL);ini_集('display_errors','1')代码>太棒了-谢谢。只是为了证明问是值得的。我仍然不确定数组和对象之间的区别是什么,但我会做进一步的研究。:)@Mishutka如果此答案对您有帮助,请按答案框左侧的勾号将其标记为已回答!太棒了,谢谢。只是为了证明问是值得的。我仍然不确定数组和对象之间的区别是什么,但我会做进一步的研究。:)@Mishutka如果此答案对您有帮助,请按答案框左侧的勾号将其标记为已回答!