PHP foreach boucle par le biais de tableau multidimensionnel
J'ai un tableau multidimensionnel, comment puis-je l'utiliser? Je veux utiliser chaque tableau dans un for
boucle.
Ce que je veux atteindre est d'être en mesure de mettre chaque partie dans ma base de données comme
entrée en db pas. 0 -> 1 et 4
entrée en db pas. 1 -> 5 et 6
entrée en db pas. 2 -> 1 et 4 et 5 et 6
J'ai ce code:
<?php
print_r($calculatie_id);
for ($i=0; $i<=3; $i++)
{
?>
<tr>
<td>
<?php
foreach ($calculatie_id[$i] as $value)
{
echo $value;
}
?>
print_r($calculatie_id); gives
Array ( [0] => Array ( [0] => 4 [1] => 6 ) [1] => Array ( [0] => 1 [1] => 5 ) [2] => Array ( [0] => 5 [1] => 6 ) [3] => )
Mais lors de l'utilisation de la foreach
je ne reçois 46
Quelques informations supplémentaires:
Ce tableau est créé par une sélection multiple dans une boucle for. Toutes les autres suggestions sont les bienvenus.
for ($i=0; $i<=$aantal_regels_corr; $i++)
{
?>
<tr>
<td>
<?php
//maak select name
$calculatie_id = 'calculatie_id'.$i;
//rest van formulier
if($error_vergeten[$i] == "ja"){ $error_omschr = $error_omschr_vergeten[$i]; include('includes/input_error.php'); } ?> <textarea rows="7" cols="80" name="omschrijving[]" /><?php echo $omschrijving[$i]; ?></textarea>
</td>
<td colspan="2">
<select multiple="multiple" width="50" size="7" name="<?php echo $calculatie_id ?>[]" style="width: 150px">
<?php
$sql_calc = "select id, naam, actief from sp_calculatie WHERE (offerte_id = '".$row['off_offerte']."' OR offerte_id = '".$offerte_id."') AND actief = 'ja' ORDER BY id ASC";
$res_calc = mysql_query($sql_calc,$con);
while ($row_calc = mysql_fetch_assoc($res_calc)){
?>
<option value="<?php echo $row_calc["id"] ?>"><?php if (empty($row_calc["naam"])) { echo $row_calc["id"]; } else { echo $row_calc["naam"]; } ?></option>
<?php } ?></select>
</td>
</tr>
<?php } ?>
regardez les mises à jour!
OriginalL'auteur Muiter | 2010-05-06
Vous devez vous connecter pour publier un commentaire.
Edit: vous devriez essayer d'apprendre et de comprendre ce qui se passe ici. Ensuite, vous pouvez faire ce que vous voulez avec le code que j'ai écrit. Vous avez dit: donne 14561456 je veux utiliser
$calculatie_id0=14 $calculatie_id1=56 $calculatie_id2=1456
etc Ensuite, vous aurez à faire quelque chose comme ceci:Ou vous pouvez créer ces variables que vous voulez (qui n'a aucun sens pour moi):
OriginalL'auteur Cristian
Fondamentalement, ce que vous avez est un tableau comme ceci:
Tous vous avez besoin est:
Qui sera de sortie ce que vous voulez. Je ne suis pas particulièrement sûr de savoir pourquoi vous êtes en train de faire une boucle for() puis un foreach.
OriginalL'auteur Daniel
Vous avez besoin pour votre nid
foreach
boucles (si vous avez une boucle dans une boucle)OriginalL'auteur Mitch Dempsey
Vous pourriez essayer:
OriginalL'auteur thesunneversets
Je ne comprends pas pourquoi l'original de votre extrait de code ne fonctionne pas. Pourrait-il être le fait que
$calculatie_id[3]
n'est pas un tableau?J'ai essayé ceci:
Et qui imprime:
eh bien, comme je l'ai dit, vous pouvez utiliser
if(!is_array($calculatie_id[$i])) continue;
pour passer à l'itération suivante de la boucleOriginalL'auteur Kip
Merci beaucoup pour m'avoir aidé à ce jour, mais tous les exemples que j'ai essayer de le mettre en œuvre ne sont pas de travail.
J'ai essayé ce script pour plus de 2 semaines maintenant. Il semble que je vais tous de la mauvaise façon.
J'ai mis mon code en ligne à http://www.pws.nl/downloads/sp_offerte_add.rar. Il doit être plus facile que ce que je suis en train d'écrire dans le code de droit maintenant.
OriginalL'auteur Muiter