PHP에서 문자열 함수를 직접 파싱하는 방법(스킬 공유)에 대해 이야기해보겠습니다.

青灯夜游
풀어 주다: 2023-04-10 17:18:02
앞으로
2104명이 탐색했습니다.

PHP에서 문자열 구문 분석 기능을 직접 사용하는 방법은 무엇입니까? 다음 기사에서는 PHP 문자열에서 직접 구문 분석 함수를 작성하는 방법을 공유할 것입니다. 이것이 도움이 되기를 바랍니다.

PHP에서 문자열 함수를 직접 파싱하는 방법(스킬 공유)에 대해 이야기해보겠습니다.

PHP 문자열에서 함수를 직접 구문 분석하는 방법

PHP에서 문자열 함수를 직접 파싱하는 방법(스킬 공유)에 대해 이야기해보겠습니다.

PHP의 문자열은 이론적으로 함수를 구문 분석할 수 없고 변수만 구문 분석할 수 있습니다. 최근에 나는 문자열 구문 분석 함수를 직접 구문 분석할 수 있는 특별한 작성 방법을 발견했습니다.

Writing

// 单行
${!${''} = 代码}

// 多行
${!${''} =
    代码
}
로그인 후 복사

개인적으로 이런 글쓰기 방식은 사실 변수를 파싱해서 이루어진다고 생각합니다. = 左边是一个特殊名称的变量,= 오른쪽의 코드 블록이 할당 변수를 충족하는 한 문자열에서 구문 분석이 가능합니다.

예제

다음 코드는 학습 및 의사소통 전용입니다. 이러한 방식의 작성은 실제 업무에서는 권장되지 않습니다.

One,

$fruits = implode('、', ['apple', 'banana']);
var_dump("fruits: $fruits."); // 正常写法解析变量
// string(23) "fruits: apple、banana."

var_dump("fruits: implode('、', ['apple', 'banana'])."); // 错误写法不能够解析函数
// string(44) "fruits: implode('、', ['apple', 'banana'])."

var_dump("fruits: ${!${''} = implode('、', ['apple', 'banana'])}."); // 特殊写法解析函数成功
// string(23) "fruits: apple、banana."

var_dump("fruits: ${!${''} = implode('、',
    [
        'apple',
        'banana'
    ])}."
); // 多行书写依然解析函数成功
// string(23) "fruits: apple、banana."
로그인 후 복사

Two,

var_dump("fruits: ${!${''} = $fruit ?? 'apple'}.");
// string(14) "fruits: apple."

var_dump("fruits: ${!${''} = isset($fruit) ? $fruit : 'apple'}.");
// string(14) "fruits: apple."
로그인 후 복사

Three,

$fruit = function (){
    return 'banana';
};
var_dump("fruits: ${!${''} = $fruit() }.");
// string(15) "fruits: banana."

var_dump("fruits: ${!${''} = call_user_func(function (){
    $fruits = [
        'apple',
        'banana'
    ];
    
    return implode('、', $fruits);
}) }.");
// string(23) "fruits: apple、banana."
로그인 후 복사

Four,

class Fruit
{
    public function __toString()
    {
        return 'banana';
    }

}
var_dump("fruits: ${!${''} = new Fruit() }.");
// string(15) "fruits: banana."
로그인 후 복사

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 문자열 함수를 직접 파싱하는 방법(스킬 공유)에 대해 이야기해보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:juejin.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!