使用foreach循环遍历数组并将结果放入新数组中

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
 }
}