Belirli bir koşula bağlı bir dizi değerleri içine itmek gerekir, bunu yapmak için doğru yolu nedir?

2 Cevap php

Ben bir durum (ve artışlı bir değer i) içeren bir forcycle var:

if(condition)){$arr[$i] = array("value" => $node->nodeValue));}
else{$arr[$i] = array("string" => $node->nodeValue);}

Sonunda böyle bir dizi olması gerekir:

    Array ( [1] => Array ( [string] => abc [value] => 0,999 ) 
            [2] => Array ( [string] => meh [value] => 0,123 ) 
            [x] => Array ( [string] => xxx [value] => xxx ) )

Ben array_push kullanmak gerektiğini düşünüyorum, benim kod çalışmıyor anlıyorum, ama ben merak ediyorum bunu başarmak için daha iyi bir yolu vardır edilir

Thank you very much

2 Cevap

Üzgünüm, soru çok net değil .. mi yapmak için çalışıyoruz ne olduğunu?

$result = array();
foreach( $nodes as $node ) 
{
    $type = 'value';
    if( is_string( $node->nodeValue ) )
    {
        $type = 'string';
    }

    $result[][$type] = $node->nodeValue;
}

? Operatörü: Bunu kullanarak biraz daha özlü yazabilirsiniz:

$fieldname = ($condition? "value" : "string"); 
$arr[$i][$fieldname] = $node->nodeValue ;