PHP 动态获取数组索引的值

一、代码

//start
public function test() {
    self::expressOne();
    self::expressTwo();
}

public function expressOne() {
    $data = [
        'express' => [
            'no' => 'WLOne123', //物流编号
            'number' => 1 //发货数量
        ],
        'other' => '其他信息'
    ];

    $rules = ['express', 'number']; //需要获取的索引

    $value = self::getIndexValue($data, $rules);

    echo $value . '<br/>'; //打印:1
}


public function expressTwo() {
    $data = [
        'list' => [
            'express' => [
                'no' => 'WLTwo123', //物流编号
                'count' => 2 //发货数量
            ],
            'other' => '其他信息'
        ],
        'user' => '用户'
    ];

    $rules = ['list', 'express', 'count']; //需要获取的索引

    $value = self::getIndexValue($data, $rules);

    echo $value; //打印:2
}

/**
 * 找到索引的值
 * @param array $data 原数据
 * @param array $rules 索引值
 * @return array|mixed
 */
public function getIndexValue($data, $rules) {
    $value = [];
    foreach ($rules as $index) {
        $value = $value ? $value[$index] : $data[$index];
    }
    return $value;
}

二、打印

1
2

三、姊妹篇

上一篇:JS之DOM篇-脚本化样式表


下一篇:eslint rules配置