İki diziler iade edildiğinde bir dizinin belirli bir kısmını seçmek nasıl?

3 Cevap php

Bir süre döngü var:

$row = mysql_fetch_array($result)

: $row kullanılarak gösterilir zaman print_r aşağıdaki gösterilecek iki dizilerdir altında tutulan

Array
(
[4] => Post Content
[value] => Post Content
)

Array
(
[4] => Post Title
[value] => Post Title
)

Onu nasıl while döngüsü tekrarlanan olmadan diziden "Post İçeriği" ve "Post Title" seçebilirsiniz?

Bu sorunun orijinal versiyonu sorunu ile çoğaltma karıştı. Sorun her ikisi $row altında tutulduğunda ikinci dizi [value] ayıklamak için nasıl.

3 Cevap

Nihai çözüm biraz Topbit önerisiyle başına özgün sorguyu ve while döngüleri iki kullanımını yeniden tarafından bulundu.

while($row_title = mysql_fetch_array($result_title)){
$row_body = mysql_fetch_array($result_body);

    // code
}

Çözümler önerdi herkese teşekkür ederim.

Bir dizi sadece unique değerlerine sahip olduğundan emin olmak istiyorum? Bu bir dizi diziler işe yaramazsa, o zaten gördüm ne bir mağaza ile klasik yinelenenlerini bulunuyor.

$dedupedValues = array()
foreach ($row as $items) {
    if (! is_set($dedupedValues[$items['value']])) {
        $dedupedValues[$items['value']] = true;  // we have this value
        echo "echo the title/value....";
    }

}

Başka bir alternatif (: MySQL 'DISTINCT' bakınız) ilk etapta çoğaltmaları önlemek için başlamak için veriyi alır SQL geliştirmek için

Pim Jager Bunu yapmanın daha iyi bir yol gösterdi, ancak mysql_fetch_array kullanmakta ısrar ederseniz ():

$i = 0;
$size = count($row);
if ($size > 0) {
  while ($i < floor($size / 2)) {
   ..... = $row[$i];
   $i += 1;
  }
}

Edit:

Tekrar okuduktan sonra, ben oldukça soruyu anlamak emin değilim.

Örneğin diziler iç içe varsa:

$row = array('data1' => array('orange', 'banana', 'apple'),
             'data2' => array('carrot', 'collard', 'pea'));

Ve sonra her dizi erişmek istiyorum:

$data1 = $row['data1'];
// = array('orange', 'banana', 'apple')
$data2 = $row['data2'];
// = array('carrot', 'collard', 'pea')
// OR
$orange = $row['data1'][0];
$banana = $row['data1'][1];
$apple = $row['data1'][2];
$carrot = $row['data2'][0];
// ... so on..

Bu gibi hesapta döngü görünüyor alıyor:

$i = 0;
$size = count($row);
if ($size > 0) {
  while ($i < floor($size / 2)) {
   $something = $row['data1'][$i]; //Or $row[0][$i]; using your example
   $something = $row['data2'][$i]; //Or $row[1][$i]; using your example
   $i += 1;
  }
}

Ama gerçekten Pims Jagers örnekte olduğu gibi, mysql_fetch_assoc () ve foreach döngüsü kullanmanızı öneririz