2017-05-19 5 views
-1

ループに問題があります。この構造でループを作成する方法は?

これは私のコードです:

$a = "dia1 
    dia2 
    dia3 
    dia4"; 
$a = explode("\n", $a); 

$str = array(
    "nama|tempattinggal|nama bapak|nama ibu", 
    "nama2|tempattinggal2|nama bapak2|nama ibu2" 
    ); 
$str = explode("\n", $str); 

for($p=0;$p<count($a);$p++){ 
    ##the code for looping 
} 

出力は次のようにする必要があります:

dia1 nama 

dia2 nama2 

dia3 nama 

dia4 nama 
+1

値 'nama'は' $ str'のどの部分から来ていますか? –

+0

"nama | tempattinggal | nama bapak | nama ibu" 最初のセクションに – UmRchan

答えて

0

最初の結果を想定して爆発$ my_second_arrayのために(明確にするため)$のmy_first_arrayに及びそうです あなたは、2つの配列に対して2つの配列チェックでforeachを使用することができます。

$a = "dia1 
    dia2 
    dia3 
    dia4"; 
    $my_first_array = explode("\n", $a); 

    $str = array(
    "nama|tempattinggal|nama bapak|nama ibu", 
    "nama2|tempattinggal2|nama bapak2|nama ibu2" 
    ); 


    foreach($my_first_array as $key => $value) { 
     if (isset(($str[$key])) then { 
      $my_second_array = explode("\n", $($str[$key]); 
      echo $value . ' - ' . $my_second_array[0]; 
     } else { 
      echo $value ; 
     } 
    } 
+0

のコードがあります。結果は です。構文エラー、予期しない '='、予期している ') – UmRchan

0

これを試してください:

$a = "dia1 
    dia2 
    dia3 
    dia4"; 
    $a = explode("\n", $a); 

    $str = array(
    "nama|tempattinggal|nama bapak|nama ibu", 
    "nama2|tempattinggal2|nama bapak2|nama ibu2", 
    ); 

// $str = explode("\n", $str); 

for($p=0;$p<count($a);$p++){ 
    echo '<br>' . $a[$p] . ' ' .((isset($str[$p]))?explode("|",$str[$p]) [0] : explode("|",$str[0]) [0]); 
    } 
+0

それは1行ではない?私はそれはあなたのコードのためのエコー – UmRchan

+0

を使用しなかったので、結果は "dia4" でこの DIA1 NAMA DIA2 nama2 dia3のNAMA dia4のNAMA エラーのようなものです。それは "nama2" – UmRchan

関連する問題