简体   繁体   English

数组值检查PHP中的另一个数组值?

[英]Array values to check another array values in PHP?

I have an array $minus 我有一个数组$minus

array(3) { [0]=> string(6) "people" 
           [1]=> string(7) "friends" 
           [2]=> string(8) "siblings" 
         }

And I have an array $user 我有一个数组$user

array(3) { ["people"]=> string(3) "100" 
           ["friends"]=> string(2) "10" 
           ["siblings"]=> string(2) "57" 
         }

I can get the values of $user by using the values of $minus like, 我可以通过使用$minus的值来获得$user的值,

echo $user[$minus[0]] . ', ' . $user[$minus[1]] . ', ' . $user[$minus[2]];
// Would echo: 100, 10, 57

But how can I get the values of $user by using the values of $minus into a new array, the new array should be like, 但是如何通过将$minus的值使用到新数组中来获得$user的值,新数组应该像这样,

array(3) { [0]=> string(3) "100" 
           [1]=> string(2) "10" 
           [2]=> string(2) "57" 
         }

I have tried using foreach loops but can never get it right? 我已经尝试过使用foreach循环,但是永远无法正确执行?

foreach($minus as $key=>$value) {
  $new_array[$key] = $user[$value];
}

仅使用array_map ,PHP> = 5.3

$new_array = array_map(function($item) use ($user) {return $user[$item];}, $minus);
$new_array= array();
foreach ($minus as $key => $value){
 $new_array[$key] =  $user[$value];
    }
print_r($new_array);
$new_array = array($user[$minus[0]], $user[$minus[1]], $user[$minus[2]]);
$minus = array(0 => "people",
               1 => "friends",
               2 => "siblings"
              );

$user = array("people"   => "100",
              "friends"  => "10",
              "siblings" => "57"
             );


$newArray = $minus;
array_walk($newArray,function(&$item, $key, $prefix) { $item = $prefix[$item]; },$user);

var_dump($newArray);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM