Вот несколько PHP-кода. 0 - найти в ассоциативном массиве явно. Если я попытаюсь поместить его в другой, он не будет назначен. Единственный способ, которым я знаю, как обойти это, - явно проверить, чтобы он был 0, используя ===
. Это единственный способ?Невозможно назначить 0 массиву, если он был в comc в php.
<?php
$vars['one'] = '31234';
$vars['two'] = 'sldf';
$vars['three'] = 1 - 1;
$return_array = [];
foreach ($vars as $key => $value){
echo "---------------Just value<br>";
var_dump($value);
echo "<br>";
$value != '' ? ($return_array[$key] = $value) : null;
echo "---------------array of key<br>";
var_dump($return_array[$key]);
echo "<br>";
}
?>
Я получаю эту приятную вещь назад.
---------------Just value
string(5) "31234"
---------------array of key
string(5) "31234"
---------------Just value
string(4) "sldf"
---------------array of key
string(4) "sldf"
---------------Just value
int(0)
---------------array of key
NULL
В любом случае, лучше, чем if ($key === 0) { // stuff }
?
Что именно вы пытаетесь достичь? «0 - найти в ассоциативном массиве явно». <- Что подразумевается под предложением? – Jan