Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что означает 1$s в программировании?

Влад Половинкин Мыслитель (9345), на голосовании 1 год назад
Делаю перевод по IT-текстам. И там такое предложение, где есть этот символ. Как я нашёл, это PHP, но могу ошибаться (нашёл в интернете). Подскажите, что этот символ означает?
Дополнен 1 год назад
%1$s, а не 1$s
Голосование за лучший ответ
ViЯuS Просветленный (25649) 1 год назад
Символ $ в PHP используется для обозначения переменной. Число перед $ указывает на порядковый номер аргумента, который будет подставлен в эту переменную при форматировании строки с помощью функции printf или sprintf. Например, в строке "Hello, %2$s! You are %1$d years old." символ %2$s означает, что на место этой подстроки будет подставлено значение второго аргумента, который должен быть строкой (поэтому используется формат %s).
Влад ПоловинкинМыслитель (9345) 1 год назад
Я это тоже в интернете нашёл, а что всё это значит? Приведи пример, пожалуйста.
твой интимный гусь Мудрец (10290) 1 год назад
https://www.php.net/manual/ru/function.sprintf.php - всё тут.
% указатель форматирования строки указывает что дальше будет вставлена переменная формирования
по индекс переменой и аргументу данных: %1..3...4..5..$[s...]
по аргументу данных у учётом порядка установки переменных %[s..]

 $i = 1; 
$x = "да";
echo "Когда появляеться {$i} это значит {$x}" . "\n......................\n";
echo sprintf('Когда появляеться %2$s это значит %1$d', $i, $x) . "\n";
echo sprintf('Когда появляеться 2$s это значит 1$d', $i, $x) . "\n";
echo sprintf('Когда появляеться %s это значит %d', $x, $i) . "\n";
Саня Семенов Оракул (60497) 1 год назад
%1$s это шаблон для sprintf (), который указывает номер агрумента который нужно подставить
Похожие вопросы