• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 620
  • Last Modified:

PHP array_push with string key

I have this initilize

$articles['Article'] = array('some string key' );

Open in new window


how can I assign the string key to this

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

Open in new window

0
glynco
Asked:
glynco
  • 4
  • 2
1 Solution
 
Slick812Commented:
greetings glynco, , sorry, but I do not understand what you need to end up with in your $articles  array ? ?

you show your -
$articles['Article']
as being set to an array with One string in it, and in your "assign the string key" question you have it with - $tempObject  you do Not say, but from the name it is an Object, not a string. What is it you need to do, How do we know how to make - $tempObject - a string, if we do not know what Object it is? Or what you may need in the -
$articles['myClass'] array sub array  ??
0
 
Ray PaseurCommented:
Maybe something like this?
$object_name = get_class($object);
$articles[$object_name] = $object;

Open in new window

I do not know where array_push() fits into the equation ;-)
0
 
glyncoAuthor Commented:
here is the Article.php class

class Article {
	public $title;
	public $author;
	public $pubdate;
	public $description;
	public $url;
	
	public function __construct($title, $author, $pubdate, $description, $url)  
    {  
        $this->title = $title;
	    $this->author = $author;
	    $this->pubdate = $pubdate;
	    $this->description = $description;
	    $this->url = $url;
    } 


}
?>

Open in new window

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
glyncoAuthor Commented:
I need a key string to search for the article object.

Something like "Jungle Book" as the key string to search for, and the object is class Book.php which has titles, author name, etc.

return array(  
            "Jungle Book" => new Book("Jungle Book", "R. Kipling", "A classic book."),  
            "Moonwalker" => new Book("Moonwalker", "J. Walker", ""),  
            "PHP for Dummies" => new Book("PHP for Dummies", "Some Smart Guy", "")  
        );

Open in new window


http://php-html.net/tutorials/model-view-controller-in-php/
0
 
Ray PaseurCommented:
Something like "Jungle Book" as the key string to search for,...

The array you have shown above has "Jungle Book" as an array key.  In case this is what you're looking for, there is no search needed -- you simply address the object by array notation like this
$jb_object = $my_array["Jungle Book"];

Open in new window

But if you do not have array keys assigned to the data elements you want, you can use an iterator to locate the elements by title and assign the array keys like this
foreach ($my_array as $my_object)
{
    $title = (string)$my_object->title;
    $my_associative_array[$title] = $my_object;
}
$jb_object = $my_associative_array["Jungle Book"];

Open in new window

0
 
glyncoAuthor Commented:
Thanks. I just added the class and it works.


foreach ($articles['Article'] as $my_object)
{
    $title = (string)$my_object->title;
    $my_associative_array[$title] = $my_object;
}
0
 
glyncoAuthor Commented:
Thanks...
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now