How to push hash into array of hash in php?

后端 未结 4 1303
梦谈多话
梦谈多话 2021-01-16 10:02

Like array_push() where we can push an element in to array. I want to push an hash [name,url] in to an array of hash.

相关标签:
4条回答
  • 2021-01-16 10:43

    If you're referring to associative arrays where the key is user-provided (rather than an auto-incrementing numeric field), just use direct syntax:

    $a = Array();
    $a['name'] = 'url';
    

    Note that $a = Array(); array_push($a, 'lol'); is (almost) the same as $a = Array(); $a[] = 'lol';. array_push is just a (pointless) "shortcut" for the same syntax, which only works for automatic, numeric indexes.

    I strongly recommend reading the PHP manual section on the topic. That's what it's there for.

    0 讨论(0)
  • 2021-01-16 10:43

    I do not know, what do you need, but it you need to push pair of values into array, this may be your solution:

    $hashes_array = array();
    
    array_push($hashes_array, array(
        'name' => 'something1',
        'url' => 'http://www1',
    ));
    
    array_push($hashes_array, array(
        'name' => 'something2',
        'url' => 'http://www2',
    ));
    

    After that $hashes_array should look like that (each element of the bigger array is array itself - associative array with two keys and two values corresponding to them):

    [
        ['name' => 'something1', 'url' => 'http://www1'],
        ['name' => 'something2', 'url' => 'http://www2']
    ]
    
    0 讨论(0)
  • 2021-01-16 10:50

    ifif i understand your problem, you want to retrieve hash value from a url then use parse_url with PHP_URL_FRAGMENT argument

    $url = 'http://username:password@hostname/path?arg=value#anchor';
    
    print_r(parse_url($url));
    
    echo parse_url($url, PHP_URL_FRAGMENT);
    

    will return

     [fragment] => anchor
    

    Reference

    0 讨论(0)
  • 2021-01-16 11:04
    <?php
        $aArrayOfHash['example'] = 'http://example.com/';
    ?>
    
    0 讨论(0)
提交回复
热议问题