Разобрать строку:
<?php$str = "возраст:30 вес:60кг";sscanf($str,"age:%d вес:%dkg",$age,$weight);// показываем типы и значенияvar_dump($age,$weight) );?>Функция sscanf() анализирует входные данные из строки в соответствии с указанным форматом. Функция sscanf() преобразует строку в переменную на основе строки формата.
Если вы передадите функции только два аргумента, данные будут возвращены в виде массива. В противном случае, если будут переданы дополнительные параметры, проанализированные данные будут сохранены в этих параметрах. Если количество разделителей больше количества содержащих их переменных, возникает ошибка. Однако если количество разделителей меньше количества содержащих их переменных, дополнительные переменные будут содержать NULL.
Связанные функции:
printf() — выводит форматированную строку
sprintf() — записывает форматированную строку в переменную
sscanf( строка,формат,arg1,arg2,arg++ )
параметр | описывать |
---|---|
нить | Необходимый. Указывает строку, которую нужно прочитать. |
формат | Необходимый. Указывает формат, который будет использоваться. Возможные значения формата: %% — возвращает знак процента % %c — символ, соответствующий значению ASCII. %d — Десятичное число со знаком (отрицательный, 0, положительный) %e — используйте научную запись строчными буквами (например, 1.2e+2). %u — десятичное число без знака (больше или равно 0) %f - число с плавающей запятой %o - восьмеричное число %s - строка %x - Шестнадцатеричное число (строчные буквы) %X — шестнадцатеричное число (заглавные буквы) Дополнительные значения формата. Должен быть помещен между % и буквой (например, %.2f): + (Добавьте + или - перед числом, чтобы определить знак числа. По умолчанию отмечаются только отрицательные числа, а положительные числа не отмечаются) ' (Указывает, что использовать в качестве заполнения, по умолчанию — пробелы. Его необходимо использовать со спецификатором ширины. Например: %'x20s (используйте «x» в качестве заполнения)) - (значение левой корректировочной переменной) [0-9] (определяет минимальную ширину значения переменной) .[0-9] (указывает количество десятичных знаков или максимальную длину строки) Примечание. Если используется несколько приведенных выше значений формата, они должны использоваться в указанном выше порядке и не могут быть нарушены. |
arg1 | Необязательный. Первая переменная для хранения данных. |
arg2 | Необязательный. Вторая переменная для хранения данных. |
аргумент++ | Необязательный. Третья и четвертая переменные, в которых хранятся данные. И так далее. |
Возвращаемое значение: | Если вы передадите функции только два аргумента, данные будут возвращены в виде массива. В противном случае, если будут переданы дополнительные параметры, проанализированные данные будут сохранены в этих параметрах. Если количество разделителей больше количества содержащих их переменных, возникает ошибка. Однако если количество разделителей меньше количества содержащих их переменных, дополнительные переменные будут содержать NULL. |
---|---|
PHP-версия: | 4.0.1+ |
Используйте значения формата %s, %d и %c:
<?php$str = "Если разделить 4 на 2, получится 2";$format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format);?>