PHP dizi foreach sorunu

2 Cevap

Ben dışarı geri veri almak gibi olamaz bir dizi var. Ne istiyorum onlarla ilişkili birden adresler var her isim (test1. ..) içindir. Eğer son testi (test5) bakarsanız, orada 2 adresler ama bu foreach döngü yalnızca bana bir tane verir. Neden?

İşte dizi yapısı ve benim foreach döngü.

Array
(
    [test1] => Array
        (
            [0] => http://www....
        )

    [test2] => Array
        (
            [0] => http://www....
        )

    [test3] => Array
        (
            [0] => http://www....
        )

    [test4] => Array
        (
            [0] => http://www....
        )

    [test5] => Array
        (
            [0] => http://www.yahoo.com
            [1] => http://www.google.com
        )

)


foreach($source as $name=>$url)
{
    foreach($url as $_url);
    {
      echo $name.' - ';
      echo $_url.'<br>';
    }
}

2 Cevap

Eğer ikinci foreach sonra noktalı virgül var: foreach(...); {... hangi olmamalıdır. Aşağıdaki kodu beklediğiniz gibi çalışır.

<?php
  $source = array(
    'test5' => array(
      "http://www.yahoo.com",
      "http://www.google.com"
    )
  );

  foreach ($source as $name => $url) {
    foreach($url as $_url) {
      echo $name.' - ';
      echo $_url.'<br>';
    }
  }

Ben sadece verilen ve sonuçlarını düzeltmek için bana verdi kopyaladığınız kodu:

$array = array
(
    'test1' => Array
        (
             'http://www....'
        ),

    'test2' => Array
        (
            'http://www....'
        ),

    'test3' => Array
        (
             'http://www....'
        ),

    'test4' => Array
        (
             'http://www....'
        ),

    'test5' => Array
        (
             'http://www.yahoo.com',
             'http://www.google.com'
        )

);

foreach($array as $name=>$url)
{
    foreach($url as $_url)
    {
      echo $name.' - ';
      echo $_url.'
'; } }

Bu i got sonuçları:

test1 - http://www....
test2 - http://www....
test3 - http://www....
test4 - http://www....
test5 - http://www.yahoo.com
test5 - http://www.google.com