 <p>I think that your problem is that you want to use $requests as a global variable. In your code it's not. You should pass it as a reference:</p> <pre class="lang-php prettyprint-override"><code>$mh = curl_multi_init(); $requests = array(); addSentimentHandle ( 'Hello', $requests ); addSentimentHandle ( 'Hello :)', $requests ); function addSentimentHandle($tweet, &amp;$requests) { $url = makeURLForAPICall($tweet); array_push($requests, curl_init ($url)); print_r($requests); } </code></pre> <p>note the '&amp;' as a prefix for $requests in function declaration. Then php wont used it as a local variable in this function.</p> <p>I recommend to you to use php as an object oriented language.</p> <pre class="lang-php prettyprint-override"><code>class myAwesomeTweeterClass{ protected $_requests; public function __construct(){ $this-&gt;_requests = array(); } public function addSentimentHandle($tweet) { $url = makeURLForAPICall($tweet); array_push($this-&gt;_requests, curl_init ($url)); } public function getRequests(){ return $this-&gt;_requests; } } $mh = curl_multi_init(); $obj = new myAwesomeTweeterClass(); $obj-&gt;addSentimentHandle ( 'Hello'); $obj-&gt;addSentimentHandle ( 'Hello :)'); print_r($obj-&gt;getRequests()); </code></pre>