Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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_Key_Unset - Fatal编程技术网

Php 从关联数组中删除关键帧

Php 从关联数组中删除关键帧,php,arrays,key,unset,Php,Arrays,Key,Unset,我想根据该值删除某个值。示例在这种情况下,我想从数组中删除Tom,然后下一个数据将继续使用Tom以前使用的数字 下面是我的例子: $array = array(0 => "Emily", 1 => "Tom", 2 => "Peter"); if ($k = array_search($csR, $array)!==false) unset($array[$k]); 结果应该是: array(0 => "Emily", 1 =&g

我想根据该值删除某个值。示例在这种情况下,我想从数组中删除
Tom
,然后下一个数据将继续使用
Tom
以前使用的数字

下面是我的例子:

    $array = array(0 => "Emily", 1 => "Tom", 2 => "Peter");
    if ($k = array_search($csR, $array)!==false)
            unset($array[$k]);
结果应该是:

array(0 => "Emily", 1 => "Peter");

由于您使用的是索引数组,因此实现此目的的最佳方法是使用


直接从

注: 函数的作用是:从数组中删除键。请注意,阵列将不会重新编制索引。如果需要真正的“删除并移动”行为,可以使用array_values()函数重新为数组编制索引

<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* will produce an array that would have been defined as
   $a = array(1 => 'one', 3 => 'three');
   and NOT
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>

您可以使用
Tom
$csR>获取数组和数组之间的差异,然后重新索引:

$array = array_values(array_diff($array, [$csR]));

但是,很少需要顺序键。您是否尝试过使用
foreach
而不是
for

使用array\u值来“修复”键。您放弃了吗???我是否可以知道,在删除第二个键后,我是否仍希望总共有3个键?unset将删除该键,这意味着您将少用一个键。您可以使用类似于
$array[3]='four'
$array = array_values(array_diff($array, [$csR]));