簡體   English   中英

在PHP 7.2中循環多維數組

[英]Looping multi-dimensional arrays in PHP 7.2

我剛剛升級到PHP 7.2,但收到PHP致命錯誤:未捕獲的錯誤:無法將字符串偏移量用作$myarray[$ex][0] = $oldarray[$z]['ID']; 在這個舊代碼中...

                $ex=0;
                $z=0;
                while($oldarray[$z]['ID']){
                    if(0==$duplicatename or !$duplicatename){
                        $ex++;
                        $myarray[$ex][0] = $oldarray[$z]['ID'];
                        /*...*/
                    }
                    $z++;
                }

我讀過,最新版本的PHP具有向后不兼容的更改,因此我將有問題的行更改為$myarray[$ex]['ID'] = $oldarray[$z]['ID']; 但是我遇到了同樣的錯誤。

該代碼所來自的站點是舊的,所以我真的期待着比這一段代碼更多的問題。 誰能告訴我我在做什么錯。

這是$oldarray的var_dump,我已經對其稍加編輯以更改內容...

array(4){[0] => array(11){[“ ID”] => int(59480)[“ boxid”] => int(11158)[“ galleryurl”] =>字符串(75)“ http :// ...“ [” gallerytitle“] =>字符串(63)”圖庫標題在這里“ [”“ gallerytype”] =>字符串(5)“ photo” [“ gallerydate”] => int(1542544634)[ “ galleryactive”] =>字符串(1)“ y” [“ usersubmitted”] =>字符串(1)“ n” [“ userip”] => NULL [“ galleryhot”] =>字符串(1)“ n” [ “ gallidentify”] => int(372239531175)} 1 => array(11){[“ ID”] => int(59324)[“ boxid”] => int(11158)[“ galleryurl”] =>字符串( 79)“ http:// ...” [“ gallerytitle”] =>字符串(45)“圖庫標題在此處” [“” gallerytype“] =>字符串(5)” photo“ [” gallerydate“] => int (1538477012)[“ galleryactive”] =>字符串(1)“ y” [“ usersubmitted”] =>字符串(1)“ n” [“ userip”] => NULL [“ galleryhot”] =>字符串(1) “ n” [“ gallidentify”] => int(428341079414)}}

是否可以使用foreach對其進行重構?

http://php.net/manual/en/control-structures.foreach.php

使用以下物品會得到什么:

print_r($oldarray);
print_r($myarray);

您很有可能在第二維數組中擁有對象...我們需要看一段更大的代碼才能有效地幫助您...

如果您更改,將會發生什么:

$myarray[$ex][0] = $oldarray[$z]['ID'];

通過這種方式:

$myarray[$ex][0] = $oldarray[$z].ID;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM