PHP에서 문자열의 시작 부분에 추가하기 위해. =에 해당하는 것이 있습니까?
문자열의 시작 부분에 텍스트를 추가하기 위해. =와 같은 것이 있는지 궁금합니다. 예 :
$foo =. 'bar';
작동하지 않습니다.
편집 : 예는 원래되었다 $foo =. $bar;
달성 할 수있는$bar .= $foo;
아니. 하지만 당신은 할 수 있습니다
$foo = "bar" . $foo
항상 자신의 기능을 만들 수 있습니다.
function prepend($string, $chunk) {
if(!empty($chunk) && isset($chunk)) {
return $string.$chunk;
}
else {
return $string;
}
}
$string
앞에 추가하려는 부분이 $chunk
될 것이고 그 위에 무언가를 추가하려는 텍스트가 될 것입니다.
검사가 선택 사항이라고 말할 수 있지만 거기에 있으면 실수로 null 값을 전달하는 것에 대해 걱정할 필요가 없습니다.
나는 이것이 얼마 전에 질문 / 답변을 받았음을 알고 있지만 할당 연산자가 아니고 일반 문자열 연결에 대한 사용법에 대해 아무도 언급하지 않았음에도 불구하고 기능적으로 동일 하므로이 대답을 제공합니다.
문자열 연결을 위해 sprintf
( documentation ) 함수 계열의 사용을 조사 할 수 있습니다 . 두 문자열을 할당 연산자와 결합하는 것보다 훨씬 더 많은 위생과 유용성을 제공합니다.
$foo = 'foo';
$append = sprintf('%1$s%2$s', $foo, 'bar');
var_dump($append);
/* string(6) "foobar" */
$prepend = sprintf('%1$s%2$s', 'bar', $foo);
var_dump($prepend);
/* string(6) "barfoo" */
$prependInvert = sprintf('%2$s%1$s', $foo, 'bar');
var_dump($prependInvert);
/* string(6) "barfoo" */
$wrap = sprintf('%2$s%1$s%2$s', $foo, 'bar');
var_dump($wrap);
/* string(6) "barfoobar" */
vsprintf
배열 작업이 개별 인수보다 값 위치를 관리하기 쉽기 때문에 일반적으로를 사용 합니다.
$vprepend = vsprintf('%2$s%1$s', array('foo', 'bar'));
var_dump($vprepend);
/* string(6) "barfoo" */
또한 값 배열을 사용하여 implode
간단한 문자열 연결에 대한 결과 값 집합을 간단히 만들 수 있습니다 .
var_dump(implode('', array('bar', 'foo')));
/* string(6) "barfoo" */
내장 함수를 래핑 할 수 있습니다 substr_replace
. 여기서 $ start 및 $ length 인수는 0으로 설정 될 수 있습니다.이 경우 $ replacement를 $ string 앞에 추가하고 결과를 반환합니다.
function prepend(& $string, $prefix) {
$string = substr_replace($string, $prefix, 0, 0);
}
도우미 함수의 사용 예는 다음과 같습니다.
$email_message = "Jonathan";
$appropriate_greeting = "Dear ";
prepend($email_message, $appropriate_greeting);
echo $email_message;
절차 적 프로그래밍에 관심이 있다면 그렇습니다.
Turning Blakethepatton's comment into an answer (thank you), a way to do this more neatly for longer variable names is by using a reference to the variable as follows:
$f = &$foo; $f = "bar{$f}";
This will save you typing over the answer by Eric V if your original variable name is 12 characters or longer.
An alternative on one line:
$f = 'bar' . ($f = &$foo);
'development' 카테고리의 다른 글
자바 스크립트는 어떻게 Blob을 업로드 할 수 있나요? (0) | 2020.09.03 |
---|---|
SQLite INSERT-ON DUPLICATE KEY UPDATE (UPSERT) (0) | 2020.09.03 |
C #의 네임 스페이스와 Java의 패키지의 차이점 (0) | 2020.09.03 |
잘못된 http_host 헤더 (0) | 2020.09.03 |
Photos.app에서 이미지를 업로드하는 모바일 사파리 용 html5 웹 앱? (0) | 2020.09.03 |