2013-05-01 1 views
0

$ 기사에서 반복적으로 반환 배열을 루프하는 배열입니다 , foreach 그리고 둥지조차도 배열을 출력합니다.PHP 양식

I는 다음과 같은 체크 박스의 형태를 가지고 :

$value = $_POST['article']; 

나는 그것을 거라고 생각 다음

for ($row = 0; $row < 3; $row++) 
    { 
     echo "The row number $value[$row]"; 
     echo '<br/>'; 

     for ($col = 0; $col < 3; $col++) 
     { 
      echo "$value[$row][$col]"; 

      echo '<br/>'; 

    }} 

:

echo'<td><input type="checkbox" name="article[]" value="'.$article.'"><br> </td>'; 

나는 형태의 결과 때문에 같은 가져 오기 다차원 연관 배열 이었지만 아무데도 이걸 가지고 있지 않습니다. 나는 잘못된 일을 지적하는 사람과 정말로 할 수있다.

솔루션은 Yordi의 솔루션에서 발견되었지만 xml 객체를 문자열로 캐스팅 한 것에 대해서는 billyonecan을 사용합니다.

그래서 내 값이 을해야한다 // serialising 전에

 $article['title'] = (string)$item->title; 
     $article['url'] = (string)$item->link; 
     $article['description'] = (string)$item->description; 

값.

+1

어떻게 배열 확실하지 않은 경우 : 서버에 게시 한 후 unserialize에게 다음을

<input type="checkbox" name="article[]" value="<?php echo htmlentities(serialize($article)); ?>" /> 

과 :

으로는 배열을 serialize 수 @Yordi 지적 항상 도움이되는 것처럼 인쇄하는 것처럼 보입니다. echo "

"; print_r($_POST['article']); echo "
"; – Yordi

+0

그것은 다음과 같습니다 : 배열 ( [0] => 배열 [1] => 배열 [2] => 배열 ) – DOWmad

+0

그래서 보인다 당신의 부분 배열 항목이 문자열로 변환됩니다 = "배열". XML에서 읽으면 다음과 같이 문자열로 변환해야합니다 : $ item-> title. ''그리고 나서 멋진 문자열을 줄 것입니다. – Tom

답변

0

배열을 에코로 표시 할 수 없습니다 (아래의 편집을 확인하십시오) - 그게 내 checkbox 값 내부에서하려는 것입니다. 인덱스를 수동으로 만들고 해당 값을 표시 할 수 있습니다.

foreach ($_POST['article'] as $a) { 
    $value = unserialize($a); 
    echo $value['title']; // url, description.. 
} 
+1

this! 배열을 전달하려면 $ _POST 스크립트에서 value = '' 과 같이 name = 'articles'을 호출하고이를 직렬화하고 tadaaa ! – Yordi

+0

슬프게도 더 untadaaa가 발생했습니다. – DOWmad

+0

@Yordi이 경고 메시지가 나타납니다. 경고 : unserialize() [function.unserialize] : 노드가 save_article.php 줄 11에 존재하지 않습니다. – DOWmad