Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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,我有一个数组,如下所示 $a=[ [id] => 18162876 [name] => phpuG4fhx [type] => Video [created] => 2016-02-11T16:55:54+00:00 [updated] => 2016-02-11T16:55:54+00:00 [duration] => 14.975 [hashed_id] => uzyng792la [d

我有一个数组,如下所示

$a=[
    [id] => 18162876
    [name] => phpuG4fhx
    [type] => Video
    [created] => 2016-02-11T16:55:54+00:00
    [updated] => 2016-02-11T16:55:54+00:00
    [duration] => 14.975
    [hashed_id] => uzyng792la
    [description] => 
    [progress] => 0
    [status] => queued
    [thumbnail] => Array
        (
            [url] => https://embed-ssl.wistia.com/deliveries/c2b1eb4bdf6f872fb9da416994973a5358b31868.jpg?image_crop_resized=200x120&video_still_time=7
            [width] => 200
            [height] => 120
        )

    [account_id] => 410090];

因此,我只需要填写
[hashed\u id]
[thumbnail]
。如何使用php?。有人能帮我吗?

不完全确定你在问什么,但是

如果要访问数组的元素,可以使用以下格式:

$array[$key]

例如:
$a['hashed\u id']

如果要过滤数组,使其仅包含哈希id和缩略图,则可以执行以下操作:

$filteredArray = [];
$filteredArray['hashed_id'] = $a['hashed_id'];
$filteredArray['thumbnail'] = $a['thumbnail'];
然后你有一个数组,其中只包含
散列的\u id
缩略图


如果这回答了你的问题,那太好了;如果不是,您可能希望在“过滤”阵列后澄清它是什么。你的预期结果是什么,等等?

不完全确定你在问什么,但

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

var_dump(array_filter($arr, function($k) {
    return ($k == 'a') || ($k == 'b');
}, ARRAY_FILTER_USE_KEY));
如果要访问数组的元素,可以使用以下格式:

$array[$key]

例如:
$a['hashed\u id']

如果要过滤数组,使其仅包含哈希id和缩略图,则可以执行以下操作:

$filteredArray = [];
$filteredArray['hashed_id'] = $a['hashed_id'];
$filteredArray['thumbnail'] = $a['thumbnail'];
然后你有一个数组,其中只包含
散列的\u id
缩略图

如果这回答了你的问题,那太好了;如果不是,您可能希望在“过滤”阵列后澄清它是什么。你预期的结果是什么

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

var_dump(array_filter($arr, function($k) {
    return ($k == 'a') || ($k == 'b');
}, ARRAY_FILTER_USE_KEY));
或使用:

如果您使用的是PHP>=5.6,则现在可以设置一个标志,以根据数组键而不是数组值进行筛选:

$allowed = ['foo', 'bar'];
$filtered = array_filter(
    $my_array,
    function ($key) use ($allowed) {
        return in_array($key, $allowed);
    },
    ARRAY_FILTER_USE_KEY
);
或使用:

如果您使用的是PHP>=5.6,则现在可以设置一个标志,以根据数组键而不是数组值进行筛选:

$allowed = ['foo', 'bar'];
$filtered = array_filter(
    $my_array,
    function ($key) use ($allowed) {
        return in_array($key, $allowed);
    },
    ARRAY_FILTER_USE_KEY
);

echo$a['hashed_id']$a=array\u filter($a[0],函数($key){return$key=='hashed\u id'| |$key=='thumbnail';},array\u filter\u USE\u key)
(PHP>=5.6.0)只在一条记录中过滤?
echo$a['hashed_id'$a=array\u filter($a[0],函数($key){return$key=='hashed\u id'| |$key=='thumbnail';},array\u filter\u USE\u key)(PHP>=5.6.0)只在一条记录中过滤?