неопределенное смещение при использовании php взрывается ()

Википедия подводит итог его вполне прилично:

В программировании, таблица переходов (иногда известный как таблица переходов) является термином, использованным для описания эффективного метода передачи программного управления (переходящего) к другой части программы (или различная программа, которая, возможно, была динамично загружена), использование таблицы команд перехода. Конструкция таблицы переходов является наиболее часто используемой при программировании в ассемблере, но может также быть сгенерирована компилятором.

... Использование таблиц переходов и другое кодирование необработанных данных были распространены в первые годы вычисления, когда память была дорогой, центральные процессоры были более медленным и компактным представлением данных, и эффективный выбор альтернатив были важны. В наше время они являются наиболее часто используемыми во встроенной системе программирования и разработке операционной системы.

, Другими словами, это - полезная конструкция для использования, когда система является чрезвычайно памятью и/или ограниченным ЦП, как это часто бывает во встроенной платформе.

17
задан SilentGhost 27 November 2009 в 10:21
поделиться

4 ответа

это потому, что ваше полное имя не содержит пробелов. Вы можете использовать простой трюк, чтобы убедиться, что пробел всегда находится где

 $split = explode(' ', "$fullname ");

(обратите внимание на пробел внутри кавычек)

Кстати, вы можете использовать функцию list (), чтобы упростить свой код

  list($first, $last) = explode(' ', "$fullname ");
38
ответ дан 30 November 2019 в 10:49
поделиться

Предположительно, что бы ни было $ fullname , оно не содержит пробелов, поэтому $ split - это массив, содержащий единственный элемент, поэтому $ split [1] относится к неопределенному смещению.

2
ответ дан 30 November 2019 в 10:49
поделиться

Странно, здесь все работает правильно. Когда я пытаюсь использовать строку , кошка идет , а также просто , будет работать и не выдаст ошибку. Я вывел его с помощью print_r

Как выглядит ваше $ fullname , когда вы получаете сообщение об ошибке?

0
ответ дан 30 November 2019 в 10:49
поделиться

Это могло быть связано с тем, что $ fullname не содержало пробела.

Этот пример должен решить вашу проблему без отображения этого уведомления:

$split = explode(' ', $fullname, 2);
$first = @$split[0];
$last = @$split[1];

Теперь, если $ fullname равно «musoNic80» , вы не получите уведомление.

Обратите внимание на использование символов «@» .

HTH Элиас

4
ответ дан 30 November 2019 в 10:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: