У меня есть такой массив с разными ключами и значениямиarray_values () не работает, как ожидалось
$input = array(
"a" => "green",
"red",
"b" => "green",
'people' => array('Jane', 'Sam'),
array(
'fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea')
)
);
var_dump(array_values($input));
В результате
array (size=5)
0 => string 'green' (length=5)
1 => string 'red' (length=3)
2 => string 'green' (length=5)
3 =>
array (size=3) <===HERE was reindexed
0 => string 'Jane' (length=4)
1 => string 'Sam' (length=3)
4 =>
array (size=2)
'fruits' => <===HERE wasn't reindexed
array (size=3)
0 => string 'orange' (length=6)
1 => string 'banana' (length=6)
2 => string 'apple' (length=5)
'veggie' => <===HERE wasn't reindexed
array (size=3)
0 => string 'carrot' (length=6)
1 => string 'collard' (length=7)
2 => string 'pea' (length=3)
Почему ключи фруктов и VEGGIE не переиндексирован но человек был переиндексирован? Какова логика.
' 'people'' не переиндексирован ..... это уже проиндексированы таким образом перед 'array_values ()' call –
Логика заключается в том, что функция не работает для многомерных массивов – Rizier123
Как и большинство функций массива, 'array_values ()' не рекурсивно –