Есть ли разница между целочисленный индекс а также индекс строки массивов 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 ().
Других решений пока нет …