php - 如何从数组中提取和删除选定的变量?

标签 php arrays

我有以下数组:

$var_array = array(
 "length"  => 5,
 "breadth"  => 5,
 "color" => "blue",
 "size"  => "medium",
 "shape" => "square");

如何通过指定键从数组中提取选定的变量?

例如,如果我指定宽度大小,我得到:

$breadth = 5;
$size = "medium";
$var_array = array(
 "length"  => 5,
 "color" => "blue",
 "shape" => "square");

最佳答案

array_diff_keyarray_intersect_key :

$array  = array(
  'breadth' => 1, 
  'size' => 2, 
  'length' => 3,
  'colour' => 4,
  'shape' => 5
);

$keys      = array('breadth', 'size');
$new_array = array_intersect_key($array, array_flip($keys));
$array     = array_diff_key($array, $new_array);

将产生:

// $new_array
array(2) {
 ["breadth"] => int(1)
 ["size"]    => int(2)
}

// $array
array(3) {
 ["length"] => int(3)
 ["colour"] => int(4)
 ["shape"]  => int(5)
}

如果你想将它们放入局部变量中,你可以这样做:

list($length, $colour, $shape) = array_values($new_array);

或者不太清晰的版本:

extract($new_array);

关于php - 如何从数组中提取和删除选定的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12005528/

相关文章:

javascript - 如何动态更改标签值

java - 插入部分填充的数组

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - laravel 5.3护照和 Angular 存储访问 token

php - preg_replace YouTube链接-iframe嵌入

php - 在mysql中设置时区不适用于日期时间?

javascript - 从数组中创建一个带有名称和值形式的键的对象并返回它

javascript - Coderbyte 数组相加解决方案——for循环与for循环

c - 返回指向数组的指针

c - 将数据添加到从循环内的结构读取的数组中