ключи многомерного массива, возвращающие отдельные символы, а не значения - PullRequest
0 голосов
/ 14 мая 2009

Я вижу эту проблему снова и снова в своем кодировании PHP, и я никогда не понимал, что происходит.

$val = $matches[1][$i]

В этом примере $ i = 0 (задано в цикле for), а значение, содержащееся в этом измерении массива, является строкой. Вместо этой строки, присваиваемой $ val, $ val получает 0-й (первый) символ в строке. Если $ i = 1, $ val получает 1-й (второй) символ в строке и т. Д.

Вместо того, чтобы возвращать строку, почему PHP воспринимает это как операцию с подстрокой? Как я могу получить мое строковое значение вместо одного символа в этой строке?

Ответы [ 3 ]

4 голосов
/ 14 мая 2009

Вы уверены, что это многомерный массив? Я думаю, что если вы обращаетесь к строке, такой как массив, она возвращает символ в позиции ключа в строке, и это может быть вашей проблемой. Проверьте свои назначения и еще много чего и убедитесь, что вы случайно не присваиваете строку для $ match [1] вместо массива строк.

0 голосов
/ 06 мая 2011

Чувак, я знаю, что уже очень поздно, но, пожалуйста, проверь

$matches[] = "value";

Если вы пропустите [], то это будет рассматриваться как строка, и поэтому ваша проблема должна быть.

0 голосов
/ 14 мая 2009

Это странно! У меня никогда не было такого раньше. Интересно, является ли многомерный массив просто нормальным? Возможно, вы используете [$ i] для возврата подстроки, если это всего лишь одно измерение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...