2012-06-10 5 views
0

저는 현재 foreach를 사용하여 배열을 반복하려고하는 PHP 프로젝트에서 작업하고 있습니다. 그러나 때로는 배열에 1 개의 항목 만 포함될 수 있으므로 foreach를 시도 할 때 1 개의 항목이 일반 변수로 간주되므로 실패합니다.1 아이템 배열을 배열로 보이게하기

PHP를 속여서 1 개의 항목 배열이 사실 변수가 아니라 배열이라는 사실을 속여서이 오류가 발생하지 않도록하는 방법이 있습니까?

도움 주셔서 감사합니다.

+1

배열을 반복 항목이 배열이고 트릭 팅이 필요하지 않습니다. –

+6

하나의 항목이있는 배열은 여전히 ​​배열이고 foreach()를 사용하여 반복 할 수 있습니다. 위의 경우가 아니라고 판단되면 문제를 증명할 수있는 예제를 제공해주십시오 –

+0

foreach()를 사용하는 코드가 하나의 항목이있는 배열에서 실패하고 –

답변

-2

표준 루프를 사용하는 것이 좋습니다. 배열의 길이가

for($i = 0, $l = count($myArray); $i < $l; $i+=1){ 
    //code in here 
} 

입니다 그러나 기회는 당신이 시작 어레이와 함께 문제가 무엇인지는 상관없이 작동합니다. 구조체를 게시하는 것이 도움이 될 것입니다. 그렇지 않으면 배열을 실제로 var_dump해야합니다.

+0

의 downvotes 앞에 주석이 없으십니까? 내가 foreach 대신에 제안했기 때문에? – thescientist

+0

나는 그것이 차이를 만들어서는 안되기 때문에 당신이 다운 받았다고 생각합니다. 'foreach()'에는 문제가 없습니다. – kapa

5

foreach 크기가 0,1 이상인 배열에서는 정상적으로 작동합니다. 나는 변수가 정말 배열 있지만, 일부 스칼라 값이 포함되지 않도록, 당신의 문제가 의심 -

if (!is_array($var)) $var=array($var); 
foreach ($var as $item) { 
    //... 
} 
0
if(is_array($arr)) 
    $arr2=$arr 
else 
    $arr2=array($arr) 

처럼이 경우 사용 뭔가를 그리고 당신은 하나를 가진 $arr2 이상

관련 문제