사용의 PHP의 다음 코드로 폭발 배열 인덱스를 폭발PHP의는
$data="test_1, test_2, test_3";
$temp= explode(",",$data);
내가하고 싶은 것을이
array('0'=>'test_1', '1'=>'test_2', 2='test_3')
같은 배열 한 후
array('1'=>'test_1', '2'=>'test_2', 3='test_3')
사용의 PHP의 다음 코드로 폭발 배열 인덱스를 폭발PHP의는
$data="test_1, test_2, test_3";
$temp= explode(",",$data);
내가하고 싶은 것을이
array('0'=>'test_1', '1'=>'test_2', 2='test_3')
같은 배열 한 후
array('1'=>'test_1', '2'=>'test_2', 3='test_3')
당신 수 이런 식으로 뭔가 :
$temp = array_combine(range(1, count($temp)), array_values($temp));
이 배열의 크기 1에서 새 범위를 작성하고 range()
(array_values()
사용) 기존의 값을 사용하여 배열을 만들 수 array_combine()
를 사용
배열을 폭발 얻을 인덱스는 0부터 시작합니다. 배열을 하나부터 시작하고 싶다면 인덱스를 분해하여 다른 배열에 복사 할 수 있습니다 1에서 시작하는 것으로 정의되었지만 그 이유는 무엇입니까?
당신은
$newArray=array_unshift($temp,' ');
unset($newArray[0]);
이것이 올바른 생각입니다. 그러나 Lloyd Watkin은'$ data' 문자열 앞에 여분의 구분 기호가 붙어 있기 때문에 함수가 적습니다. – mickmackusa
가 폭발 사용 불가능이 가능 (테스트되지 않은)을 사용할 수 있습니다.
for($i = count($temp) - 1; $i >= 0; $i--)
$temp[$i + 1] = $temp[$i];
unset($temp[0]);
귀하의 주요 진술이 정확하지 않습니다. 이 질문을 푸는 가장 좋은 2 단계 방법은'explode()'를 포함하고 있습니다. 그렇게 주장하는 독자들에게 오해하지 않도록 노력하십시오. – mickmackusa
당신은 직접 할 수는 없지만 이것이 당신이하는 일을 할 것입니다. r :
$temp=explode(',',',' . $data);
unset($temp[0]);
var_dump($temp);
array(3) {
[1]=>
string(6) "test_1"
[2]=>
string(7) " test_2"
[3]=>
string(7) " test_3"
}
코드를 올바르게 포맷하는 법을 배웁니다. – ManseUK
신속하게 복사하여 터미널 –
Lloyd Watkin의 대답은 기대되는 결과를 얻기 위해 가장 적은 함수 호출을 만듭니다. 그것은 문자열이 폭발 한 후에 한 줄짜리 줄에 네 가지 기능을 사용하는 ManseUK의 방법에 대한 확실한 답입니다.
영업 :이 질문은 거의 오년 때문에 사람이 지금 차임 감히 경우
, 오래된 내가 해결하기 위해 두 가지를
... 추가 할 수있는 가치있는 무언가가 있어야한다 및 Lloyd Watkins는 샘플 문자열을 기반으로 explode 메서드에 올바른 구분 기호를 할당하지 못했습니다. 구분 기호 은 쉼표 다음에 공백이있는이어야합니다.
샘플 입력 :
$data="test_1, test_2, test_3";
아무도 로이드의 두 기능의 접근 방식과 일치하는 한 줄 솔루션을 제공하지 않았다. 여기에서 해당 (Demo)
는$temp=array_slice(explode(", ",", $data"),1,null,true);
이 두 기능을 하나의 라이너는 콤마를 폭발 전에 공간으로 $data
문자열 앞에 추가. 그런 다음 array_slice
은 첫 번째 빈 요소를 무시하고 키 (true
)를 유지하면서 두 번째 요소 (1
)에서 끝 (null
)까지 반환합니다.원하는대로
출력 : 대답 대 질문에 주석으로
array(
1 => 'test_1',
2 => 'test_2',
3 => 'test_3',
)
@lgt에서 붙여 넣습니다.이 페이지의 다른 답변은 비효율적에서 논증 적으로 다양합니다. 장래의 SO 독자가 혼란 스럽거나 잘못 인도되거나 비효율적 인 코드를 복사/붙여 넣기 할 수 있으므로 허용 된 대답을 광산으로 전환하는 것을 고려하십시오. – mickmackusa
이 인정하고, 더 나은 자격. 페이지가 부풀어 오르기 만하므로이 답변을 삭제 해보십시오. Downvoted. – mickmackusa
PDO의'bindValue()'매개 변수는 1- 색인으로 만들어 지므로이 방법으로 배열 키를 설정하여 추가 처리없이 모든 bindValue 매개 변수와 값을 반복 설정하는 것이 유용합니다. – mickmackusa