수색…


하위 문자열 추출 / 바꾸기

단일 문자는 중괄호 구문뿐만 아니라 배열 (대괄호) 구문을 사용하여 추출 할 수 있습니다. 이 두 가지 구문은 문자열에서 하나의 문자 만 반환합니다. 둘 이상의 문자가 필요한 경우 함수가 필요합니다. 즉, 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'

문자열은 같은 대괄호와 중괄호 구문을 사용하여 한 번에 한 문자 씩 변경할 수 있습니다. 두 개 이상의 문자를 바꾸 려면 함수가 필요합니다. 즉, 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!"

달러 것을 알 $ 기호가 여는 중괄호 후 나타날 수 { 그 전에 나타날 수 있습니다, 펄이나 쉘 스크립트처럼, 위의 예로서, 또는 :

$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