Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> индекс массива 0 == '0' 
V
    Опции темы
bars80080
Дата 12.9.2008, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Код

<?php
$a = array();
$a[0] = 15;
$a['0'] = 'we';
var_dump($a);

echo $a[0];
?>

я честно говоря удивлён, $a[0] == $a['0']

неужели с этим ничего нельзя поделать?
PM MAIL WWW   Вверх
SergeCpp
Дата 12.9.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: нет
Всего: 124



Об этом же написано в документации
Цитата
A key may be either an integer or a string. If a key is the standard representation of an integer, it will be interpreted as such (i.e. "8" will be interpreted as 8, while "08" will be interpreted as "08"). Floats in key are truncated to integer. The indexed and associative array types are the same type in PHP, which can both contain integer and string indices.


P.S. (там же) Example #1 Using array()
Код
$switching = array( 10,         // key = 0
                    5    =>  6,
                    3    =>  7, 
                    'a'  =>  4,
                            11, // key = 6 (maximum of integer-indices was 5)
                    '8'  =>  2, // key = 8 (integer!)
                    '02' => 77, // key = '02'
                    0    => 12  // the value 10 will be overwritten by 12
                  );



Это сообщение отредактировал(а) SergeCpp - 12.9.2008, 11:07
PM MAIL WWW ICQ   Вверх
bars80080
Дата 12.9.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



м-да, не есть гуд
PM MAIL WWW   Вверх
Sunvas
Дата 12.9.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



Цитата(bars80080 @  12.9.2008,  11:25 Найти цитируемый пост)
м-да, не есть гуд

Почему? Вроде как логично.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
bars80080
Дата 12.9.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



ну, как. допустим я делаю массив имён файлов, что находятся в директории. как просто было бы - численные индексы: имена файлов, ассоциативные: имена директорий. а так приходится указывать ещё и тип. 

но это просто пример под конкретную задачу. суть всё же, что было бы хорошо иметь разделение, а так происходит замещение
PM MAIL WWW   Вверх
gta4kv
Дата 12.9.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



bars80080, 

И вообще, если тебе нужны численные индексы, почему нельзя писать:
Код

<?php
$my = array( "null", "one", "two", "three" => "zero" );
echo $my[ 0 ];
?>

????

Добавлено @ 14:43
Хотя смысла в этом не вижу, использовать слова было бы разумнее, и понятнее через год smile)

Это сообщение отредактировал(а) gta4kv - 12.9.2008, 14:51
PM MAIL   Вверх
bars80080
Дата 12.9.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



та нет, вопрос не в том что можно извернуться если захотеть

я узнал о таком факте, только когда захотел вычитать каталог файлов на любую глубину. и чтобы провести простое разбиение на файлы и каталоги хотел задать в массиве первые численными индексами, а вторые строками.

но фиг с ним, важно, что по сути $a[0] $a['0'] - вообще-то не одно и то же. когда мы указываем какие-то обработки или формирования, мы всегда знаем с какими ключами имеем дело. если первые я могу пересчитать в цикле for(), то вторые нет. ну, != это и есть != . пусть у пхп есть разные степени сравнения, но здесь-то хотя бы могли жёстко определить
PM MAIL WWW   Вверх
bobik02
Дата 12.9.2008, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 2
Всего: 14



Цитата(bars80080 @  12.9.2008,  16:21 Найти цитируемый пост)
если первые я могу пересчитать в цикле for(), то вторые нет

что в этом контексте значит "первые...вторые" ?


--------------------
Have a nice day
PM   Вверх
nerezus
Дата 12.9.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

м-да, не есть гуд
 Это написано было в документации и на это есть соотв. вопросы в Zend Cert.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
bars80080
Дата 12.9.2008, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(nerezus @  12.9.2008,  16:56 Найти цитируемый пост)
Это написано было в документации и на это есть соотв. вопросы в Zend Cert. 

?


это же не делает гуд

Цитата(bobik02 @  12.9.2008,  16:44 Найти цитируемый пост)
что в этом контексте значит "первые...вторые" ? 

первые - численные ключи, вторые - ассоциативные
PM MAIL WWW   Вверх
bobik02
Дата 12.9.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 2
Всего: 14



Цитата(bars80080 @  12.9.2008,  17:28 Найти цитируемый пост)
первые - численные ключи, вторые - ассоциативные 

тогда и первые и вторые ты сможешь пересчитать итеративно .


--------------------
Have a nice day
PM   Вверх
bars80080
Дата 12.9.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



bobik02, да вопрос не в пересчёте, а в том, что внесение в массив жлемента с ассоциативным ключом, он легко может вытеснить элемент с численным ключом
PM MAIL WWW   Вверх
Sunvas
Дата 12.9.2008, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



bars80080, ну так заведи два массива! Чего все в один пихать?


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
bars80080
Дата 12.9.2008, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



одно дерево - один массив. или сколько я должен создать массивов для каталога с глубиной в пять уровней?
PM MAIL WWW   Вверх
skyboy
Дата 12.9.2008, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(bars80080 @  12.9.2008,  12:43 Найти цитируемый пост)
как просто было бы - численные индексы: имена файлов, ассоциативные: имена директорий. а так приходится указывать ещё и тип. 

как просто было бы: ассоциативный массив, ключ - имя файла/папки. в элементах, соответствующих папке, кроме элементов "dateCreated" и "dateUpdated" есть элемент-массив "children" - вложенный папки и файлы. и обходись одним деревом.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0918 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.