2017-02-09 96 views
0

我有一个关于这段代码的问题,我试图弄清楚,因为我是PHP新手。这里是代码:输出一个字符串来描述数组中的颜色和新数量?

$fruit_counts=array('apple'=>3, 'banana'=>4, 'orange'=>0); 
$fruit_colors=array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange', 'plum'=>'purple'); 

如何输出描述每个水果颜色和新数量(计数)的字符串?任何帮助将非常感激。谢谢。

+1

反复试验和练习。 – RiggsFolly

+1

和['foreach'](http://php.net/manual/en/control-structures.foreach.php)。 – roberto06

+0

但首先决定你要做什么关于五颜六色的水果,没有数可用 – RiggsFolly

回答

3

因为它似乎就像所有的水果会有颜色,但不一定是数量,只是循环通过颜色,看看是否有相应的水果的数量:

$fruit_counts = array('apple' => 3, 'banana' => 4, 'orange' => 0); 
$fruit_colors = array('apple' => 'red', 'banana' => 'yellow', 'orange' => 'orange', 'plum' => 'purple'); 

foreach ($fruit_colors as $fruit => $color) { 
    $qty = isset($fruit_counts[$fruit]) ? $fruit_counts[$fruit] : 0; 
    echo "Fruit: $fruit | Color: $color | Qty: $qty" . '<br>'; 
} 
+2

@justbaron至少这家伙并没有偷我的李子 – RiggsFolly

+0

完美我的注意力太多,数量太多了,它让我失望了,但现在这变得更有意义了。非常感谢! – user6405037

+0

不客气..! – BizzyBob

2

如果你想所有的水果数量,与关联颜色:

$fruit_counts=array('apple'=>3, 'banana'=>4, 'orange'=>0); 
$fruit_colors=array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange', 'plum'=>'purple'); 

foreach($fruit_counts as $Fruit=>$Count){ 
    $Colour = "None!"; 
    if(isset($fruit_colors[$Fruit])){ 
     $Colour = $fruit_colors[$Fruit]; 
    } 
    echo "<p>$Fruit ($Colour): $Count</p>"; 
} 

,或者,如果你想所有的水果色彩,搭配联想计数:

foreach($fruit_colors as $Fruit=>$Colour){ 
    $QTY = 0; 
    if(isset($fruit_counts[$Fruit])){ 
     $QTY = $fruit_counts[$Fruit]; 
    } 
    echo "<p>$Fruit ($Colour): $QTY</p>"; 
} 
+2

嘿男人我的李子在哪里 – RiggsFolly

+0

哈,可爱的东西。 – JustBaron

+1

我仍然不知道你用我的李子做了什么 – RiggsFolly

-1
 $fruit_colors=array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange', 'plum'=>'purple'); 
     $fruit_counts=array('apple'=>3, 'banana'=>4, 'orange'=>0); 


      foreach($fruit_colors as $key=>$color){ 
       if($fruit_counts[$key]){ 
        echo "Color :".$key." Count: ".$fruit_counts[$key]; 
       } 
      } 
+0

_Warning:array_combine():两个参数都应该有相同数量的element_ – RiggsFolly

+0

有一定的空间可以改善它的回答。至少你试图回答这个问题。 –