태그 보관물: implode

implode

따옴표가있는 PHP implode (101) array(‘lastname’, ’email’, ‘phone’); $comma_separated = implode(“,”, $array); 그리고

간단한 배열 파열

이렇게 보일거야

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

그리고 그것은 이것을 반환합니다

 lastname,email,phone

좋아, 그래서 내가 대신 할 수도

$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";

이제 내가 원하는 멋진 예쁜 csv 문자열이 있습니다.

 'lastname','email','phone'

이 작업을 수행하는 더 좋은 방법이 있습니까, implode에 대한 선택적 매개 변수가 있어야하는 것처럼 느껴집니다.



답변

아니, 당신이하는 방식은 괜찮습니다. implode()1-2 개의 매개 변수 만 사용합니다 (배열 만 제공하면 빈 문자열로 조각을 결합합니다).


답변

$array = array('lastname', 'email', 'phone');


echo "'" . implode("','", $array) . "'";

답변

다음을 사용할 수 있습니다 array_map().

function add_quotes($str) {
    return sprintf("'%s'", $str);
}

$csv =  implode(',', array_map('add_quotes', $array));

데모

또한 fputcsv파일에 쓰려 는 경우가 있습니다.


답변

$ids = sprintf("'%s'", implode("','", $ids ) );

답변

더 빠른지 모르겠지만 방법으로 코드 줄을 저장할 수 있습니다.

에서

$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";

에:

$array = array('lastname', 'email', 'phone');
$comma_separated = "'".implode("','", $array)."'";

답변

루프를 사용하려면 다음을 수행 할 수도 있습니다.

$array = array('lastname', 'email', 'phone');
foreach($array as &$value){
   $value = "'$value'";
}
$comma_separated = implode(",", $array);

데모 : http://codepad.org/O2kB4fRo


답변

또는 다음과 같은 함수를 만들 수 있습니다.

function implode_with_quotes(array $data)
{
    return sprintf("'%s'", implode("', '", $data));
}