У меня есть следующий PHP код:Сравнение массивов дает разные результаты
$a = "5";
$b = array("position"=>1);
var_dump("5" <= $b);
var_dump("5" <= "Array");
var_dump("Z" <= $b);
var_dump("Z" <= "Array");
результат является:
boolean true
boolean true
boolean true
boolean false
Мы знаем, что массив преобразуется в строку array
. Что на самом деле происходит во время конверсии? Почему результаты в разных случаях ниже?
var_dump("Z" <= $b); // (in this case array convert to string "array")
var_dump("Z" <= "Array"); // (in this case string "Array")
Но результат отличается. Зачем?
Что именно вы хотите сделать? И что вы пробовали? –
это будет полезно: http://php.net/manual/en/language.types.type-juggling.php – Joren
В чем вопрос? _'Почему массивы преобразуются в «Массив»? _? Тогда спросите разработчиков php. Но на самом деле - это правило не лучше и не хуже любого другого, так почему бы и нет? –