在 php 中过滤适合者数组的数组

例如,如何从php中的以下数组中删除基于键或基于值的项。$array[testing3]Template3


$array = array(

    'mentor' => 'Template',

    'mentor1' => 'Template1',

    'testing' => 'Template2',

    'testing3' => 'Template3',

    'testing4' => 'Template4',

    'testing5' => 'Template5',

    'testing6' => 'Template6'

);


慕虎7371278
浏览 113回答 3
3回答

吃鸡游戏

让我们用它来实现目标。array_filter()$array = array(    'mentor' => 'Template',    'mentor1' => 'Template1',    'testing' => 'Template2',    'testing3' => 'Template3',    'testing4' => 'Template4',    'testing5' => 'Template5',    'testing6' => 'Template6');删除数组中的项,例如,Template3$filtered_array1 = array_filter($array, function($val) {    return 'Template3' != $val;});print_r($filtered_array1);删除数组中除数组之外的所有元素Template3$filtered_array2 = array_filter($array, function($val) {    return 'Template3' == $val;});print_r($filtered_array2);到目前为止,我们使用值来过滤数组。您也可以根据以下条件过滤数组。您需要对函数使用第三个参数。第 3 个参数有两个选项 - 和 。您可以使用其中之一。让我们使用 flag 来删除基于 的项,例如:keyARRAY_FILTER_USE_KEYARRAY_FILTER_USE_BOTHARRAY_FILTER_USE_KEYkeytesting3$filtered_array3 = array_filter($array, function($key) {    return 'testing3' != $key;}, ARRAY_FILTER_USE_KEY);print_r($filtered_array3);要了解有关功能的更多信息,请参阅此文档array_filter()

繁星coding

您可以使用 unset() 来实现此目的:unset(myArray['testing3']);

德玛西亚99

您可以使用 (https://www.php.net/unsetunset)$array = array(  'mentor' => 'Template',  'mentor1' => 'Template1',  'testing' => 'Template2',  'testing3' => 'Template3',  'testing4' => 'Template4',  'testing5' => 'Template5',  'testing6' => 'Template6');  unset($array['testing3']);或者,如果您需要按可以使用的值找到它(https://www.php.net/array-searcharray_search)// Remove the element if it existsif($element = array_search("Template3",$array)){  unset($array[$element]);}要回答注释中提出的有关仅保留您要查找的数组元素的问题:使用并覆盖数组(或从中创建一个新数组)。array_search$array = array_search('Template3', $array);
打开App,查看更多内容
随时随地看视频慕课网APP