数组中php特定的单词


php specific word in an array

我有两个数组,一个包含单词,另一个包含词和值。下面的代码将检查一个数组与另一个数组,并添加值并返回总数。但是,如果字符串中有常用单词,代码也会为它们添加值。

如何仅获得下面示例中确切单词"绿色"的值?就像下面的例子一样,我的总数应该是3,而不是15。

$a_array = array( array("name"=> "Red", "price"=> "2"), 
array("name"=> "Green", "price"=> "3"), 
array("name"=> "Green Leaf", "price"=> "4"), 
array("name"=> "Green Light", "price"=> "8"), 
array("name"=> "Grey", "price"=> "1"), 
array("name"=> "Yellow", "price"=> "11"));

$check = array(Blue, Green, Black, );
$total = 0; foreach ($check as $key => $value): 
foreach ($a_array as $itemKey => $itemValue): 
if (strstr($itemValue['name'], $value)): 
$total += $itemValue['price']; 
continue; endif; endforeach; endforeach;

echo "Total: $total";

试试这个:-

<?php  
   $a_array = array( array("name"=> "Red", "price"=> "2"), 
   array("name"=> "Green", "price"=> "3"), 
   array("name"=> "Green Leaf", "price"=> "4"), 
   array("name"=> "Green Light", "price"=> "8"), 
   array("name"=> "Grey", "price"=> "1"), 
   array("name"=> "Yellow", "price"=> "11"));
   $check = array('Blue', 'Green', 'Black' );
   $total = 0; foreach ($check as $key => $value): 
   foreach ($a_array as $itemKey => $itemValue): 
   if ($itemValue['name']== $value): // condition is changed here
   $total += $itemValue['price']; 
   continue; endif; endforeach; endforeach;
   echo "Total: $total";
?>

输出为:总计:3

使用以下代码。不使用strstr函数来匹配字符串,而是使用"=="运算符。

 if ($itemValue['name'] == $value): 

而不是

 if (strstr($itemValue['name'], $value)):