Недавно я столкнулся с необходимостью пройти через string
, чтобы действовать в соответствии с его письмом
Насколько я знаю, string
в PHP представлен как array
байтов какуказано в документе.
Тогда я, естественно, написал:
$str = 'Hello';
foreach ($str as $letter) {
doMyThingsOnLetter($letter);
}
К сожалению, я получил ошибку, сказав мне, что я предоставил foreach invalid argument
Я знаючто эта работа:
$str = 'Hello';
for($i = 0; $i < strlen($str); $i++) {
doMyThingsOnLetter($str[$i]);
}
Так вот, $str
рассматривается как массив, но foreach
мы получили ошибку для недопустимого аргумента (в то время как в документе указано, что он допускает массивы)
Так что мне интересно, существует ли какой-то другой тип массива для представления самой строки в PHP или это только способ обработки каждого массива по-разному?
PS: Я знаю str_split()
существуют для этой цели, но это не моя проблема здесь