How do i push a new key value pair to an array php? [duplicate]
Asked Answered
S

3

10

I know there is a lot of documentation around this but this one line of code took me ages to find in a 4000 line file, and I would like to get it right the first try.

file_put_contents($myFile,serialize(array($email_number,$email_address))) or die("can't open file");
    if ($address != "[email protected]") {
        $email['headers'] = array('CC' => '[email protected]');
    }
}

After this if statement I basically want to add on

'BCC' => '[email protected]'

into the $email['headers'] array (so it adds it whether the if evaluates to true or not)

Stylography answered 30/5, 2012 at 5:22 Comment(2)
See this.. create array object and assign values in the array.. hiox.org/33288-create-array-copy-using-php.phpDasher
The line inside the if statement may not be the 'best' way (I really don't know) but it will work. $email['headers'] = array('BCC' => '[email protected]');Smearcase
O
26

You can add them individually like this:

$array["key"] = "value";

Collectively, like this:

$array = array(
    "key"  => "value",
    "key2" => "value2"
);

Or you could merge two or more arrays with array_merge:

$array = array( "Foo" => "Bar", "Fiz" => "Buz" );

$new = array_merge( $array, array( "Stack" => "Overflow" ) );

print_r( $new );

Which results in the news key/value pairs being added in with the old:

Array
(
  [Foo] => Bar
  [Fiz] => Buz
  [Stack] => Overflow
)
Overtrade answered 30/5, 2012 at 5:25 Comment(0)
G
2

You can do this: $email['headers']['BCC'] = "[email protected]" but you need to add it after the if.

Grandfatherly answered 30/5, 2012 at 5:24 Comment(0)
D
0
$email['headers'] = array();

if ($address != "[email protected]") {
   $email['headers']['CC'] = '[email protected]';
}

$email['headers']['BCC'] = '[email protected]';
Denaedenarius answered 30/5, 2012 at 5:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.