array(1) { ["abc"]=> string(14) "52129" } Как такое вообще может быть, ведь символов то видно что их 5, а не 14 ? Если сделать $a = (int)$b['0']; //выведет 0 почему-то Скажите пожалуйста из-за чего это?
Быть такого просто не может. PHP: <?php $b = array('52129'); $a = (int) $b[0]; echo . $a ' == ' . $b[0]; ?> Угадай что выведет ?
В PHP все массивы - ассоциативные. Поэтому когда ты спрашиваешь $b['0'] он ищет эллемент с индексом 0, а не первый, который у тебя имеет индекс abc.
host Интересно, что (и как, и где) присваивается переменной со значением "52129" ? Можно посмотреть ? ps: я так понимаю наверху var_dump.
Самое смешное, что если копать внутрь ПХП, на самом деле они все ассоциативные, но с численными индексами. =) Это в прошлую тему про киррилические символы в индексах массива — это безразлично, ибо пхп хранит лишь хеш от индекса.
PHP: <?php $a = array('abc'=>"123456\n\t\n\r\n\r\r\n\r"); var_dump($a); ?> Код (Text): array(1) { ["abc"]=> string(15) "123456 " }
флоппик правильное направление, потому я и спросил автора. Но! при выводе такого дампа будут и переносы и пробелы и табуляции, а он указал закрывающую ". Вот меня и интересует, что же он туда запихнул такое. Потому и не получится (вероятно) число из такой строки (тут я не проверял).
Решена проблема. В реальности в переменной где содержится число 52129 были другие html тэги. Т.е. <td>52129</td>. Естесствено их и небыло видно, поэтому получилась такая ситуация + ночь
Сразу вспомнился анекдот про то что самое сексуальное число это "21593" (если двое думают об одном, то через пять недель они поймут что через 9 месяцев их будет трое)