代码之家  ›  专栏  ›  技术社区  ›  Lance

尝试在Laravel中获取特定数组键和部分值

  •  0
  • Lance  · 技术社区  · 6 年前

    我对PHP和Laravel都是新手。我想从数组中转储特定信息。我不喜欢使用foreach循环,因为我知道我想要的循环。

    以下是阵列:

    enter image description here

    我想显示ICAR-中级

                 dump($listofcarcodesnames[2]);
                 dump($listofcarcodesnames[2]['code']);
    

                 dump($listofcarcodesnames[2]->code);
    

                 dump($listofcarcodesnames->code[2]);
    

                 dump($listofcarcodesnames->$code[2]);
    

    **澄清:**

    $listofcarcodesnames['ICAR']['CODE']->code;  
    

    如果我知道我在找你,这会有用吗 ICAR

    $listofcarcodesnames[3rdKey]['CODE']->code;
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   newUserName02    6 年前

    必须通过其键获取数组中的值。这是一个以字符串作为键的关联数组,其中嵌套了一个对象。

    快速分解您的示例:

    • 键“ICAR”处的值是一个数组,其中还有两个键:“code”和“vehicle\u name”
    • 键“code”处的值是具有一个属性的对象: code

    要访问内部的值,可以执行以下操作:

    // this will get you the value 'Intermediate'
    dump($listofcarcodesnames['ICAR']['code']->code);
    

    http://php.net/manual/en/language.types.array.php

    $array = [
        0 => 'first index',
        1 => 'second index',
        '' => 'empty string key',
        'anotherkey' => 'string key',
        'nested' => [
            'nested' => [
                'nested' => 'etc'
            ],
            0 => [
                0 => 'hello',
                1 => 'world',
            ],
        ],
    ];
    
    dump($array[0]);                            // 'first index'
    dump($array[1]);                            // 'second index'
    dump($array['']);                           // 'empty string key'
    dump($array['anotherkey']);                 // 'string key'
    dump($array['nested']['nested']['nested']); // 'etc'
    dump($array['nested'][0][0]);               // 'hello'
    

    至于获得‘ICAR’,这要看情况而定。因为它不是数组中的一个值,而且您已经知道这是您想要的特定内容,所以您可以在需要的地方对它进行编码。

    echo 'ICAR - ' . $listofcarcodesnames['ICAR']['code']->code;
    

    $count = 0;
    foreach($listofcarcodesnames as $key => $val) {
        if($count === 2) {
            echo $key . ' - ' . $listofcarcodesnames[$key]['code']->code;
        }
        $count++;
    }
    

    Does JavaScript Guarantee Object Property Order?

        2
  •  0
  •   Carlos Guerrero    6 年前
    $listofcarcodesnames['ICAR']['CODE']->code;
    

    应该给你“中级”

    php artisan tinker
    Psy Shell v0.9.7 (PHP 7.2.0 — cli) by Justin Hileman
    >>> $lisofcarcodesnames = []
    => []
    >>> $lisofcarcodesnames['ICAR'] = []
    => []
    >>> $lisofcarcodesnames['ICAR']['code'] = new stdClass
    => {#3041}
    >>> $lisofcarcodesnames['ICAR']['code']->code = "Intermediate"
    => "Intermediate"
    >>> echp json_encode($lisofcarcodesnames)
    PHP Parse error: Syntax error, unexpected T_STRING on line 1
    >>> echo json_encode($lisofcarcodesnames)
    {"ICAR":{"code":{"code":"Intermediate"}}}⏎
    >>> echo dump($lisofcarcodesnames)
    array:1 [
      "ICAR" => array:1 [
        "code" => {#3041
          +"code": "Intermediate"
        }
      ]
    ]
    ArrayPHP Notice:  Array to string conversion in C:/Users/Charlie Guerreroeval()'d code on line 1
    >>> echo $lisofcarcodesnames['ICAR']['code']->code
    Intermediate⏎
    >>>