PHP
文字列の書式設定
サーチ…
部分文字列の抽出/置換
単一の文字は、中括弧構文だけでなく、配列(角括弧)構文を使用して抽出できます。これら2つの構文は、文字列から1文字だけを返します。複数の文字が必要な場合は、関数が必要です。つまり、 substr
文字列は、PHPのすべてのものと同様、 0
インデックス付けされています。
$foo = 'Hello world';
$foo[6]; // returns 'w'
$foo{6}; // also returns 'w'
substr($foo, 6, 1); // also returns 'w'
substr($foo, 6, 2); // returns 'wo'
文字列は、同じ角括弧と中括弧の構文を使用して、一度に1文字ずつ変更することもできます。複数の文字を置換するには関数が必要です。つまり、 substr_replace
$foo = 'Hello world';
$foo[6] = 'W'; // results in $foo = 'Hello World'
$foo{6} = 'W'; // also results in $foo = 'Hello World'
substr_replace($foo, 'W', 6, 1); // also results in $foo = 'Hello World'
substr_replace($foo, 'Whi', 6, 2); // results in 'Hello Whirled'
// note that the replacement string need not be the same length as the substring replaced
文字列補間
補間を使用して、文字列内の変数を補間( 挿入 )することもできます。補間は、二重引用符で囲まれた文字列とheredoc構文でのみ機能します。
$name = 'Joel';
// $name will be replaced with `Joel`
echo "<p>Hello $name, Nice to see you.</p>";
# ↕
#> "<p>Hello Joel, Nice to see you.</p>"
// Single Quotes: outputs $name as the raw text (without interpreting it)
echo 'Hello $name, Nice to see you.'; # Careful with this notation
#> "Hello $name, Nice to see you."
複合(中括弧)構文書式は、変数を中括弧{}
で囲む必要がある別のオプションを提供します。これは、テキストコンテンツ内に変数を埋め込み、テキストコンテンツと変数のあいまいさを防ぐのに役立ちます。
$name = 'Joel';
// Example using the curly brace syntax for the variable $name
echo "<p>We need more {$name}s to help us!</p>";
#> "<p>We need more Joels to help us!</p>"
// This line will throw an error (as `$names` is not defined)
echo "<p>We need more $names to help us!</p>";
#> "Notice: Undefined variable: names"
{}
構文は、 $
始まる変数のみを文字列に補間します。 {}
構文は、任意のPHP式を評価しません 。
// Example tying to interpolate a PHP expression
echo "1 + 2 = {1 + 2}";
#> "1 + 2 = {1 + 2}"
// Example using a constant
define("HELLO_WORLD", "Hello World!!");
echo "My constant is {HELLO_WORLD}";
#> "My constant is {HELLO_WORLD}"
// Example using a function
function say_hello() {
return "Hello!";
};
echo "I say: {say_hello()}";
#> "I say: {say_hello()}"
ただし、 {}
構文は、変数、配列要素、またはプロパティの配列アクセス、プロパティアクセス、関数/メソッド呼び出しを評価します。
// Example accessing a value from an array — multidimensional access is allowed
$companions = [0 => ['name' => 'Amy Pond'], 1 => ['name' => 'Dave Random']];
echo "The best companion is: {$companions[0]['name']}";
#> "The best companion is: Amy Pond"
// Example of calling a method on an instantiated object
class Person {
function say_hello() {
return "Hello!";
}
}
$max = new Person();
echo "Max says: {$max->say_hello()}";
#> "Max says: Hello!"
// Example of invoking a Closure — the parameter list allows for custom expressions
$greet = function($num) {
return "A $num greetings!";
};
echo "From us all: {$greet(10 ** 3)}";
#> "From us all: A 1000 greetings!"
ドルのことに注意してください$
サインが開く中括弧の後に表示することができます{
上記の例のように、または、Perlやシェルスクリプトのように、その前に表示されることがあります。
$name = 'Joel';
// Example using the curly brace syntax with dollar sign before the opening curly brace
echo "<p>We need more ${name}s to help us!</p>";
#> "<p>We need more Joels to help us!</p>"
Complex (curly) syntax
は、複雑であるために呼び出されるのではなく、 複雑な表現を使用できるためです。Complex (curly) syntax
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow