简体   繁体   中英

Printing out an array to a file

I'm stuck on particular task. As you can see I'm extracting hrefs and title from webpage and I need to put this information to a file. But how this array can be printed in order like this: href1 : title1 , href2 : title2 and so on.

   <?php
   $searched = file_get_contents('http://technologijos.lt');
   $xml = new DOMDocument();
   @$xml->loadHTML($searched);
   foreach($xml->getElementsByTagName('a') as $lnk) 
      {
         $links[] = array(
         'href' => $lnk->getAttribute('href'),
         'title' => $lnk->getAttribute('title')
      );
      }
   echo '<pre>'; print_r($links); echo '</pre>';
   ?>

Why not create the array directly in a way that is usable afterwards?

<?php
$searched = file_get_contents('http://technologijos.lt');
$xml = new DOMDocument();
@$xml->loadHTML($searched);

$links = [];
foreach($xml->getElementsByTagName('a') as $lnk) {
    $links[] = sprintf(
        '%s : %s', 
        $lnk->getAttribute('href'), 
        $lnk->getAttribute('title');
    );
}

var_dump(implode(', ', $links);

Obviously the same can be done by using a second loop to iterate over the links array if it is create as shown in your example.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM