We help IT Professionals succeed at work.

Assigning associative array key in an array in just one loop.

glynco
glynco asked
on
How can I combine these two loops in to one loop?

for ($i = count($objs)-1; $i >= 0; $i--) { 

$tempObject = new Article();
$tempObject -> title=$objs[$i];
$tempObject -> author="My Author: " . $i;

array_push($articles[get_class($tempObject)], $tempObject);

}

foreach ($articles['Article'] as $my_object)
{
    $title = (string)$my_object->title;
    $my_associative_array[$title] = $my_object;
}

Open in new window

Comment
Watch Question

Most Valuable Expert 2011
Top Expert 2016

Commented:
What are you trying to accomplish here?  It looks like you have two different arrays in play.  Unless these arrays are hundreds of thousands of elements long, there is no economy in combining these loops and plenty of potential for making a programming error.

If you have some test data, please post it, thanks.
Freelancer
CERTIFIED EXPERT
Top Expert 2010
Commented:
You could try this:

for ($i = count($objs)-1; $i >= 0; $i--) {

$tempObject = new Article();
$tempObject -> title=$objs[$i];
$tempObject -> author="My Author: " . $i;

$articles[get_class($tempObject)][$tempObject -> title] = $tempObject;

}

Explore More ContentExplore courses, solutions, and other research materials related to this topic.