Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用特定键保存项目数组_Php_Arrays - Fatal编程技术网

Php 使用特定键保存项目数组

Php 使用特定键保存项目数组,php,arrays,Php,Arrays,如何使用数组键保存数组中的特定项 输入: $arr = [ 0 => 'item0', 2 => 'item2', 4 => 'item4', 43 => 'item43' ]; $arr = [ 2 => 'item2', 43 => 'item43' ]; foreach ($arr as $key => $value) { if(!($key == 2 || $key == 43)) {

如何使用数组键保存数组中的特定项

输入:

$arr = [
    0 => 'item0',
    2 => 'item2',
    4 => 'item4',
    43 => 'item43'
];
$arr = [
   2 => 'item2',
   43 => 'item43'
];
foreach ($arr as $key => $value) {
   if(!($key == 2 || $key == 43)) {
       unset($arr[$key]);
   }
}
现在我只想保存键243

预期输出:

$arr = [
    0 => 'item0',
    2 => 'item2',
    4 => 'item4',
    43 => 'item43'
];
$arr = [
   2 => 'item2',
   43 => 'item43'
];
foreach ($arr as $key => $value) {
   if(!($key == 2 || $key == 43)) {
       unset($arr[$key]);
   }
}
当前代码:

$arr = [
    0 => 'item0',
    2 => 'item2',
    4 => 'item4',
    43 => 'item43'
];
$arr = [
   2 => 'item2',
   43 => 'item43'
];
foreach ($arr as $key => $value) {
   if(!($key == 2 || $key == 43)) {
       unset($arr[$key]);
   }
}

它现在可以工作了,但是如果我有更多的数组键要保存呢。

你可以试试这个。这里我们使用和

array\u intersect\u key
使用键计算数组的交点

array\u flip
将在键和值上翻转数组


你可以试试这个。这里我们使用和

array\u intersect\u key
使用键计算数组的交点

array\u flip
将在键和值上翻转数组

试试这个代码

        <?PHP
    $mykeys=array(2,5,9,7,3,4);

    foreach ($arr as $key => $value) {
       if(!(in_array($key,$mykeys) {
           unset($arr[$key]);
       }
    }?>
试试这段代码

        <?PHP
    $mykeys=array(2,5,9,7,3,4);

    foreach ($arr as $key => $value) {
       if(!(in_array($key,$mykeys) {
           unset($arr[$key]);
       }
    }?>

您可以将要保留的密钥放入一个数组中,然后按如下方式对其进行迭代:

$keys = array(); // put the keys here
foreach ( $arr as $key => $value) {
  $found = 0;
  foreach($keys as $filterKey) {
    if ($key == $filterKey) {
      $found = 1;
      break;
    }
    $found = 0;
  }
  if ($found == 0) {
    unset($arr[$key]);
  }
}

您可以将要保留的密钥放入数组中,然后像这样迭代:

$keys = array(); // put the keys here
foreach ( $arr as $key => $value) {
  $found = 0;
  foreach($keys as $filterKey) {
    if ($key == $filterKey) {
      $found = 1;
      break;
    }
    $found = 0;
  }
  if ($found == 0) {
    unset($arr[$key]);
  }
}

这就是我要找的。Thanks@just_a_simple_guy很高兴帮助你,朋友……:)这就是我要找的。Thanks@just_a_simple_guy很高兴帮助你,朋友……:)