Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

PHP: unreachable array indexes

Это просто ёбаный пиздец. В мануале PHP напиcано, дескать, при образении к элементу массива, если строка содержит валидный интеджер, то тип данных будет интеджер. Также в интеджер превращаются булы и флоаты. Казалось бы, ничего страшного, да? $a["999"] и $a[999] одно и то же, и все этим спокойно пользуются, это один и тот же элемент массива. Но нет, всё не так. Зацените:
<?php
$a = new stdClass();
$a->{"1"} = 'foo';
$a = (array)$a;
$a["1"] = 'bar';
print_r($a);

Как думаете, что выводит? Неееееет :)
Array
(
    [1] => foo
    [1] => bar
)

Одна единичка - это строка, другая - это интеджер. Можно убедиться в том самостоятельно, скормив array_keys($a) в var_dump(). Наблюдалось мной лично в PHP 5.3.10, 5.4.31 и 5.5.3. Ох уж мне это похапе :)

Оригинал записи http://blog.axshavan.cz/2014/09/php-unreachable-array-indexes.html
Tags: web, хабр
Subscribe

  • Ворчание по поводу политики

    У нас тут местное правительство ещё сильнее, чем было, ебанулось и охуело, и напринимало какие-то странные законы, которые выглядят как попытки…

  • Фотографии из мини-походика 18 июля

    На прошлой неделе мы со Славкой прошли пешком чуть больше 19 километров по южным предместьям Праги. Я выбрал маршрут таким образом, чтоб там были и…

  • Инопланетный чертополох

    Пару дней назад ходили вечером гулять по окрестностям. Я повстречал возле пруда Асуан заросли какой-то инопланетной херни. Это такие шипастые шары…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 12 comments

  • Ворчание по поводу политики

    У нас тут местное правительство ещё сильнее, чем было, ебанулось и охуело, и напринимало какие-то странные законы, которые выглядят как попытки…

  • Фотографии из мини-походика 18 июля

    На прошлой неделе мы со Славкой прошли пешком чуть больше 19 километров по южным предместьям Праги. Я выбрал маршрут таким образом, чтоб там были и…

  • Инопланетный чертополох

    Пару дней назад ходили вечером гулять по окрестностям. Я повстречал возле пруда Асуан заросли какой-то инопланетной херни. Это такие шипастые шары…