2014-12-11 1 views
0

제출할 때 여러 배열을 제공하는 양식이 있습니다. 내 질문은 각 배열에 대해 foreach를 수행하는 대신 모든 배열을 표시하도록 현명한 방법이 있다면 (사용자에게 보여주기 위해)?여러 배열을 에코 아웃 하시겠습니까?

해결 방법은 foreach 루프를 사용하여 함수를 수행 할 수 있습니까? 작업 입력에서

HTML :

<td><input type="checkbox" name="tasks[<?php echo($value[0]);?>]"value=<?php echo($key[0]);?>></td> 

내 PHP 스크립트 :

if(isset($_POST['submit'])) { 
    $tasks = $_POST['tasks']; 
    $user = $_POST['user']; 
    $pickup_at = $_POST['pickup_at']; 
    $message = $_POST['message']; 
    $price = $_POST['price']; 
    $part_missing = $_POST['part_missing']; 

의 Foreach 예. 작업 배열에

foreach($tasks as $key => $keys) 
{ 
    echo $key ."<br>"; 
} 
+3

: 위해서 var_dump를 ($ _ POST) 또는 인 print_r ($ _POST) – HarryFink

+0

... @HarryFink 방금 내 질문을 업데이트했습니다. 결과를 사용자에게 보여줘야합니다. – Nomis

답변

1

모든 배열은 병렬 인덱스를 가져야한다. 당신은 그들 중 하나에서 인덱스를 사용해야하고, 모든 나머지에 인덱스로 것을 사용할 수 있습니다

foreach ($tasks as $i => $task) { 
    echo "Task $i: $task<br>"; 
    echo " User: {$user[$i]}<br>"; 
    echo " Pickup at: {$pickup_at[$i]}<br>"; 
    ... 
} 
-1
echo "<pre>"; print_r($tasks); echo "</pre>"; 
+0

'echo '

' . print_r($tasks, true) . '
'; '은 3 문장을 사용하는 것보다 훨씬 낫습니다. – h2ooooooo

0
foreach($tasks as $key => $keys) 
{ 
    echo $key ."<br>"; 
} 

이는 키에 다른 방법을 BR을 추가 할 경우입니다

// will give you same output that foreach() gives you. 
echo implode("<br>", array_keys($tasks)); 
-1

어떤 종류의 반복 작업이 필요합니다 (foreach). 또한 array_walk 같은 다른 기본 기능을 사용할 수 있습니다 :

array_walk($array, function($val, $key) { 
    echo $key, PHP_EOL; 
}); 

하지만 정말 여기에 무엇을 추가 does't. 나는 foreach 또는 var_dump을 고수 할 것입니다.

0

대신

foreach($tasks as $key => $keys) { 
    echo $key ."<br>"; 
} 

당신은 할 수 있습니다 :

echo(implode('<br>', $tasks)); 

$task의 요소들 사이의 <br>을두고 문자열을 생성합니다. HTML 컨텍스트에 따라 echo 문자열이 필요하거나 마지막 요소 뒤에 추가 <br>을 추가하지 않아도됩니다.

0

양식에 문제가 있다고 생각합니다. 귀하의 HTML이 될 sholud이의

<td><input type="checkbox" name="tasks[]" value="<?php echo($value[0]);?>"></td> 

Insted : 그 후

<td><input type="checkbox" name="tasks[<?php echo($value[0]);?>]"value=<?php echo($key[0]);?>></td> 

이 같은 값을 인쇄 할 수 있습니다

어쩌면
echo implode(',',$tasks); 
관련 문제