2014-11-03 3 views
0

일부 값을 저장하기 위해 배열을 읽으려고하는데 작동하지 않습니다! 여기에 내 코드입니다 :배열을 읽고 저장하는 방법

$array=$_POST['idprod'];//I get my array and save it on a var 
print_r($array); //It has ALL the data (I use a print_r($array); And YES!! It has the information i need) 
$ids[]=explode(',',$array);//Substring to my var 

for($contador=0; $contador <count($ids); $contador++) 
{ 
echo $ids[$contador].'<br/>'; 
} 

그것은 나에게 보여준다는 Array to string conversion in...

내가 무엇을 할 수 있습니까?

+0

무엇을 작동하지 않는 설정? 오류가 있습니까? 예상되는 행동은 무엇이며 대신 무엇이 일어나고 있습니까? 코드 형식을 지정하십시오. – puelo

+0

@puelo "Array to string conversion in ..." – Jean

+0

'$ array'가'array'이면'array'를 분해 할 수 없습니다. 이것은 어디에서 오류가 발생했는지입니다. '$ array'는 문자열이어야합니다. – Rasclatt

답변

2

사용 foreach 문을 대신 루프 foreach는 구조가 배열을 반복하는 쉬운 방법을 제공합니다. foreach는 배열과 객체에서만 작동하며 다른 데이터 유형 또는 초기화되지 않은 변수가있는 변수에서 사용하려고하면 오류가 발생합니다. 이 구문은 다음과 같습니다

foreach (array_expression as $value) 
    statement 
foreach (array_expression as $key => $value) 
    statement 


foreach ($array => $var) { 
    // do any thing 
} 

$ids[]=explode(',',$array);//Substring to my var 
for($contador=0; $contador <count($ids); $contador++) { 
echo $ids[$contador].'<br/>'; 

를 교체하고

$ids = explode(',',$array); 
foreach($ids as $id) { 
    echo $id ."<br>"; 
} 
+0

그것이 나를 돕는다! 대단히 감사합니다. @ANZAWI – Jean

0

incomming 데이터가 쉼표로 구분 된 문자열 인 경우 explode() 만하면됩니다. 그렇지

$string = $_POST['idprod']; 

$array= explode(',', $string); // split the comma separated values into an array 

for($i=0; $i<count($array); $i++) 
{ 
    echo $array[$i] . '<br/>'; 
} 

당신은 직접 incomming 배열로 작업 할 수 있습니다 :

$array = $_POST['idprod']; 

for($i=0; $i<count($array); $i++) 
{ 
    echo $array[$i] . '<br/>'; 
} 
+0

나는 여전히 "문자열 변환의 배열 ..."을 가지고있다. – Jean