How to add elements to an empty array in PHP?

后端 未结 8 584
天命终不由人
天命终不由人 2020-11-22 12:07

If I define an array in PHP such as (I don\'t define its size):

$cart = array();

Do I simply add el

相关标签:
8条回答
  • 2020-11-22 12:14

    It's better to not use array_push and just use what you suggested. The functions just add overhead.

    //We don't need to define the array, but in many cases it's the best solution.
    $cart = array();
    
    //Automatic new integer key higher than the highest 
    //existing integer key in the array, starts at 0.
    $cart[] = 13;
    $cart[] = 'text';
    
    //Numeric key
    $cart[4] = $object;
    
    //Text key (assoc)
    $cart['key'] = 'test';
    
    0 讨论(0)
  • 2020-11-22 12:17

    You can use array_push. It adds the elements to the end of the array, like in a stack.

    You could have also done it like this:

    $cart = array(13, "foo", $obj);
    
    0 讨论(0)
  • 2020-11-22 12:18
    $cart = array();
    $cart[] = 11;
    $cart[] = 15;
    
    // etc
    
    //Above is correct. but below one is for further understanding
    
    $cart = array();
    for($i = 0; $i <= 5; $i++){
              $cart[] = $i;  
    
    //if you write $cart = [$i]; you will only take last $i value as first element in array.
    
    }
    echo "<pre>";
    print_r($cart);
    echo "</pre>";
    
    0 讨论(0)
  • 2020-11-22 12:19

    REMEMBER, this method overwrites first array, so use only when you are sure!

    $arr1 = $arr1 + $arr2;
    

    (see source)

    0 讨论(0)
  • 2020-11-22 12:20

    Based on my experience, solution which is fine(the best) when keys are not important:

    $cart = [];
    $cart[] = 13;
    $cart[] = "foo";
    $cart[] = obj;
    
    0 讨论(0)
  • 2020-11-22 12:22

    Both array_push and the method you described will work.

    $cart = array();
    $cart[] = 13;
    $cart[] = 14;
    // etc
    
    //Above is correct. but below one is for further understanding
    $cart = array();
    for($i=0;$i<=5;$i++){
        $cart[] = $i;  
    }
    echo "<pre>";
    print_r($cart);
    echo "</pre>";
    

    Is the same as:

    <?php
    $cart = array();
    array_push($cart, 13);
    array_push($cart, 14);
    
    // Or 
    $cart = array();
    array_push($cart, 13, 14);
    ?>
    
    0 讨论(0)
提交回复
热议问题