Hey everyone so I am trying to loop through an existing array and then add data from that array into a new array if certain conditions are met. This is my current code but it does not work. I am not sure how to go about doing what I want to do.
$allClientArr = $authPartner->getmyClients();
foreach($allClientArr as $client){
if($client->get('status') == "AC"){
$clientArr += $client;
}
}
I am using elements of clientArr further down in my page.
That is not how you do it in PHP. Your code should look like this:
$allClientArr = $authPartner->getmyClients();
$clientArr = array(); // make sure you define $clientArr as an array
foreach($allClientArr as $client){
if($client->get('status') == "AC"){
$clientArr[] = $client; // this is how you add element to array
}
}
The line
$clientArr += $client;
Will try to add the value to a variable. If you want to add $client
to $clientArr
, then try
$clientArr[] = $client;
i have two answer for you if you use php 5.5 then just do :
$allClientArr = $authPartner->getmyClients();
$clientArr = array(); // make sure you define $clientArr as an array
foreach($allClientArr as $client){
if($client->get('status') == "AC"){
$clientArr[] = $client; // this is push the variable $client into the array $clientArr[]
}
}
but if you use php 5.4 just do:
$allClientArr = $authPartner->getmyClients();
$clientArr = array(); // make sure you define $clientArr as an array
foreach($allClientArr as $client){
if($client->get('status') == "AC"){
array_push($clientArr[], $client); // this is push the variable $client into the array $clientArr[] in another word it add it in the end of the array
}
}