Несогласованный доступ к записям индексированного массива.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Несогласованный доступ к записям индексированного массива.

Сообщение Anonymous »

Я не знаю, как описать или даже назвать эту проблему, но мне кажется, что псевдокод хорошо ее объясняет. У меня есть многомерный массив $data (4 уровня) и следующий PHP-код:

Код: Выделить всё

    $data = [
'a'=>['b'=>['c'=>['text','text','text'],
'ca'=>['1','1.5','2']
],
'ba'=>['c'=>['text','text','text'],
'ca'=>['1','1.5','2']
]
],
'a1'=>['b'=>['c'=>['text','text','text'],
'ca'=>['1','1.5','2']
],
'ba'=>['c'=>['text','text','text'],
'ca'=>['1','1.5','2']
]
],
];

$new_array = [];

foreach($data as $a=>$bs){
foreach($bs as $b=>$cs){
foreach($cs as $c=>$d){
$new_array[$c][$b][$a] = $d;
}
}
}

//I don't know why ...

print_r($new_array);//works, including indices

print_r($new_array['known_index']);//displays nothing, no errors or warnings

print_r($new_array[0]);//displays nothing, no errors or warnings

print_r(current($new_array));//works
Я попробовал заключить индексные переменные в двойные кавычки, и в целом мне удалось обойти проблему. Я просто не знаю, что происходит, и мне кажется, что я должен это сделать. PHP 8.2

Подробнее здесь: https://stackoverflow.com/questions/792 ... exed-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»