Search code examples
phpforeacharray-push

How Do i use array_push in foreach loop PHP?


Here is example which I have try

<?php
 include 'spider/classes/simple_html_dom.php';
 $html = new simple_html_dom();
 $html->load("<html><body><h2>Heading 1</h2><h2>This heading 2</h2></p></p></body></html>");
 $e = $html->find("h2", 0);
 $key = array();
 if($e->plaintext != ""){
 foreach($html->find("h2", 0) as $e){
    //echo $e->plaintext;
    array_push($key, $e->plaintext);
  }
 } else {
     echo "error";
 }
 print_r($key);
 ?>

Result:
Array ( [0] => [1] => [2] => [3] => [4] => [5] => Heading 1This heading 2

[6] => [7] => )

How Do i use array_push to create an array?


Solution

  • What happens, when you try this code? I removed the first "find" and i also found an example on the internet, where the second param of "find" was not set.

    <?php
     include 'spider/classes/simple_html_dom.php';
     $html = new simple_html_dom();
     $html->load("<html><body><h2>Heading 1</h2><h2>This heading 2</h2></p></p></body></html>");
     $key = array();
     if(isset($html)){
     foreach($html->find("h2") as $e){
        //echo $e->plaintext;
        array_push($key, $e->plaintext);
      }
     } else {
         echo "error";
     }
     print_r($key);
     ?>
    

    Explanation:

    // Find all anchors, returns a array of element objects
    $ret = $html->find('a');
    
    // Find (N)th anchor, returns element object or null if not found (zero based)
    $ret = $html->find('a', 0);