我正在使用与此类似的代码动态添加到数组;
$arrayF[$f+1][$y][$x+1] = $value+1;
if (is_array($arrayF[$f])){
foreach ($arrayF[$f] as $key2 => $arrayF2) {
$y = $key2;
foreach ($arrayF2 as $key3 =>$value) {
$x = $key3;
if (($y<=100)&& ($y>=1)&&($x<=100)&&($x>=1)){
if ($value < $arrayMaster[$y][$x]) {
$arrayMaster[$y][$x] = $value;//resets value in a master array
$arrayF[$f+1][$y][$x+1] = $value+1;//creates a new array for F to 'sprawl' with
$max = $f+1;
}
}
}
}
}
1 Câu trả lời
很简单,因为执行以下操作:$arrayF[$f+1][$y][$x+1] = $value+1;
,不能确定$arrayF[$f+1]
是有效的偏移量/索引/键。您只知道is_array($arrayF[$f])
是真实的。
解决方法非常简单:
if (!isset($arrayF[$f+1]) || !is_array($arrayF[$f+1])) {
$arrayF[$f+1] = array(
$y => array()
);
} else if (!is_array($arrayF[$f+1][$y])) {
$arrayF[$f+1][$y] = array();
}
$arrayF[$f+1][$y][$x+1] = $value+1;
$arrayF[$f+1]
不存在,当您执行诸如
$arrayF[$f+1] = 'foobar';
这样的简单分配时,PHP会为您高兴地创建它。但是,您正在访问一个(可能)不存在的偏移量(该偏移量的结果为
vô giá trị
),并尝试将其用作数组:
$arrayF[$f+1][$y]
,如果
$arrayF[$f+1]
不存在,则那里没有
$y
索引,因此请注意:PHP会警告您代码中可能存在错误
is_array
可以产生 undefined offset 通知,因为它假定您传递给它的参数确实存在。为了避免产生此类通知,需要对
isset
进行检查,因此我已相应地更新了上面的代码。
关于php - 创建/添加多维数组值时的未定义偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27544823/
Tôi đang chạy PHP trong một tệp JavaScript, như... var = '';). Tôi cần sử dụng JavaScript để quét chuỗi để tìm các ký tự phân cách PHP (mở và đóng PHP). Tôi đã biết cách rồi
Tôi muốn có thể làm điều gì đó như thế này: php --determine-oldest-supported-php-version test.php và nhận được kết quả đầu ra này: 7.2 Nghĩa là nhị phân php được kiểm tra theo thử nghiệm.
Tôi đang phát triển một trang web php lớn hiện không sử dụng bất kỳ framework nào. Câu hỏi lớn của tôi là, liệu có nên thử tích hợp dần dần khung vào ứng dụng theo thời gian, chẳng hạn như tạo các tiện ích mới và cập nhật các tiện ích cũ không? Ví dụ, tất cả các trang đều được phục vụ trực tiếp thông qua URL.
Dưới đây là mã nguồn của tôi, tôi muốn sử dụng biến $r1 nằm trong tập lệnh php ở cuối trong một tập lệnh php khác ở đầu cùng một trang. Tôi cần một giải pháp đơn giản cho vấn đề này. Tôi muốn sử dụng biến đó trong truy vấn cập nhật có trong mã. $tên)
Tôi đang tạo một trang web thực hiện nhiều chuyển hướng PHP tùy thuộc vào các tình huống khác nhau. Giống như thế này... header("Location: somesite.com/redirectedpage.php"); để bảo mật