Есть ли разница между целым индексом и строковым индексом массивов PHP (за исключением, конечно, того факта, что последний называется associative array
)?
Так, например, каковы различия между двумя следующими массивами:
$intIndex[5] = "Hello"; $intIndex[6] = "World"; $intIndex[7] = "!";
А также
$strIndex['5'] = "Hello"; $strIndex['6'] = "World"; $strIndex['7'] = "!";
В первом случае, что происходит с $intIndex[0]
до $intIndex[4]
?
Из руководства (внимание мое):
Ключ может быть целым числом или строкой. Значение может быть любого типа.
Кроме того, будут выполняться следующие нажатия клавиш:
- Строки, содержащие действительные целые числа, будут переданы в целочисленный тип . Например, ключ «8» будет фактически сохранен под 8. С другой стороны, «08» не будет выбрано, так как это не допустимое целое число.
- Поплавки также отливаются от целых чисел, что означает, что дробная часть будет усечена. Например, ключ 8.7 фактически будет сохранен в
8.
- […]
Это не связано с тем, что массивы PHP редки.
Вы можете проверить все это с помощью var_dump () .