Википедия подводит итог его вполне прилично:
В программировании, таблица переходов (иногда известный как таблица переходов) является термином, использованным для описания эффективного метода передачи программного управления (переходящего) к другой части программы (или различная программа, которая, возможно, была динамично загружена), использование таблицы команд перехода. Конструкция таблицы переходов является наиболее часто используемой при программировании в ассемблере, но может также быть сгенерирована компилятором.
... Использование таблиц переходов и другое кодирование необработанных данных были распространены в первые годы вычисления, когда память была дорогой, центральные процессоры были более медленным и компактным представлением данных, и эффективный выбор альтернатив были важны. В наше время они являются наиболее часто используемыми во встроенной системе программирования и разработке операционной системы.
, Другими словами, это - полезная конструкция для использования, когда система является чрезвычайно памятью и/или ограниченным ЦП, как это часто бывает во встроенной платформе.
это потому, что ваше полное имя не содержит пробелов. Вы можете использовать простой трюк, чтобы убедиться, что пробел всегда находится где
$split = explode(' ', "$fullname ");
(обратите внимание на пробел внутри кавычек)
Кстати, вы можете использовать функцию list (), чтобы упростить свой код
list($first, $last) = explode(' ', "$fullname ");
Предположительно, что бы ни было $ fullname
, оно не содержит пробелов, поэтому $ split
- это массив, содержащий единственный элемент, поэтому $ split [1]
относится к неопределенному смещению.
Странно, здесь все работает правильно. Когда я пытаюсь использовать строку , кошка идет
, а также просто ,
будет работать и не выдаст ошибку. Я вывел его с помощью print_r
Как выглядит ваше $ fullname
, когда вы получаете сообщение об ошибке?
Это могло быть связано с тем, что $ fullname
не содержало пробела.
Этот пример должен решить вашу проблему без отображения этого уведомления:
$split = explode(' ', $fullname, 2);
$first = @$split[0];
$last = @$split[1];
Теперь, если $ fullname
равно «musoNic80»
, вы не получите уведомление.
Обратите внимание на использование символов «@»
.
HTH Элиас