Voting

: min(two, zero)?
(Example: nine)

The Note You're Voting On

Anonymous
8 years ago
Be cafeful while trying to refactor longer strings with repeated placeholders like

sprintf("Hi %s. Your name is %s", $name, $name);

to use argument numbering:

sprintf("Hi %1$s. Your name is %1$s", $name);

This will nuke you at **runtime**, because of `$s` thing being handled as variable. If you got no $s for substitution, notice will be thrown.

The solution is to use single quotes to prevent variable substitution in string:

sprintf('Hi %1$s. Your name is %1$s', $name);

If you need variable substitution, then you'd need to split your string to keep it in single quotes:

sprintf("Hi " . '%1$s' . ". Your {$variable} is " . '%1$s', $name);

<< Back to user notes page

To Top