Могут ли PHP-массивы содержать элементы разного типа?
в других языках программирования определение массивов-это то, что может содержать аналогичные элементы. Например, если я объявляю что-то вроде int i[]
Он будет хранить целые числа, но в PHP один массив, кажется, держит строки и числа вместе.
будет ли число / целое число рассматриваться как строка в таком типе массива в PHP?
4 ответов
согласно Руководству по PHP вы действительно можете хранить гетерогенные типы внутри "массива" PHP-прокрутите вниз до примера 3.
обратите внимание, что, хотя в Примере ключи являются ints или строками, значения, назначенные в Примере, также являются ints и строками, демонстрируя, что можно хранить гетерогенные типы.
имейте в виду, что в случае различных типизированных ключей есть автоматическое литье, поэтому у вас может быть удивительно результаты в случае, когда, например, строка содержит допустимое десятичное представление.
не собираюсь ставить масло на огонь PHP массивов здесь нет массивов… Но да, вы можете поместить разные типы переменных (string, int,...) вместе в PHP-вещь под названием Array.
вы можете хранить все, что угодно в массиве.
будет ли число / целое число рассматриваться как строка в таком типе массива в PHP?
не при хранении. Однако, когда вы используете значение как таковое, PHP будет преобразовать его. Использование значения определяет его интерпретацию. (Внимание, ключ преобразуется при хранении, однако, если он считается числовым)