簡體   English   中英

PHP獲取包含某些值而不是鍵的數組元素

[英]PHP get array elements that contain certain value not key

我找不到與此類似的商品嗎? 我有一個示例數組

Array
(

    [0] => Array
        (
            [employee_name] => Abegail P.
            [employee_id] => 1297212
            [total_offenses] => 10
            [type] => giveaways
        )

    [2] => Array
        (
            [employee_name] => Carlota
            [employee_id] => 1855076
            [total_offenses] => 5
            [type] => refund
        )

)

我想檢索僅具有贈品類型的數組元素並顯示如下。

Array
    (
        [0] => Array
        (
            [employee_name] => Abegail P.
            [employee_id] => 1297212
            [total_offenses] => 10
            [type] => giveaways
        )
    )

您可以使用array_filter

這是一個例子:

$arr = array
(

    array
        (
            "employee_name" => 'Abegail P.',
            "employee_id" => '1297212',
            "total_offenses" => '10',
            "type" => 'giveaways',
        ),
    array
        (
            "employee_name" => 'Carlota',
            "employee_id" => '1855076',
            "total_offenses" => '5',
            "type" => 'refund',
        )

);


//Use array_filter
$result = array_filter($arr, function($v) {
    //Return if type giveaways
   return $v[ 'type' ] === 'giveaways';
});

echo "<pre>";
print_r( $result );
echo "</pre>";

這將導致:

Array
(
    [0] => Array
        (
            [employee_name] => Abegail P.
            [employee_id] => 1297212
            [total_offenses] => 10
            [type] => giveaways
        )

)

文檔: http : //php.net/manual/en/function.array-filter.php

使用array_filter()

$array = array_filter($array, function($value){
    return $value["type"] === "giveaways";
});

array_filter是執行此操作的理想工具。

$key = giveaways; // I assume this is constant value as
                  // its not writtent as literal or variable.
$new_array = array_filter($array, function( $item ) use( $key ) {
    if (item[type'] == $key ) {
        return true;
    }
    return false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM