Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t访问php数组的元素_Php_Arrays_Forms - Fatal编程技术网

Can';t访问php数组的元素

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

我真的很生气,我想知道是否有人能看出我做错了什么。我有一张填写“排练”数组的表格。到现在为止,一直都还不错。如果在我按下submit后,我恢复了Precape的值,我可以得到变量的打印,但变量本身没有内容,因此:

$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如果此答案对您有帮助,请按答案框左侧的勾号将其标记为已回答!