2010-02-11 5 views
0

Ceci est la fonction:fonction PHP aide

function NewsDat($url="http://www.url.com/dat/news.dat", $max=5){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $curlresult = curl_exec($ch); 

    $posts = explode("\n", $curlresult); //chop it up by carriage return 
    unset($curlresult); 

    $num=0; 
    $result=array(); 
    foreach($posts as $post){ 
     $result[] = explode("::", $post); 
     $num++; 
     if($num>$max-1){ 
      break; 
     } 
    } 
    return $result; 
} 

var_dump(NewsDat()); 

qui retourne:

array(5) { [0]=> array(14) { [0]=> string(10) "1183443434" [1]=> string(1) "R" [2]=> string(46) "Here is some text"... 

J'ai besoin de faire écho: 1183443434 et Here is some text...

Quelqu'un peut-il aider?

+0

Quelqu'un sait comment je peux trier le tableau pour obtenir les derniers éléments dans le fichier DAT? – CLiown

Répondre

1

Basique array manipulation?

$result = NewsDat(); 
echo $result[0][0]; //holds "1183443434" 
echo $result[0][2]; //holds "Here is some text" 

Mais je ne sais pas si les valeurs sont toujours à cette position lorsque vous exécutez votre fonction.

1

Bien que NewsDat retourne un tableau de tableaux, si vous avez besoin ces deux champs sur chaque ligne, cela devrait faire l'affaire:

$news = NewsDat(); 

foreach($news as $single_new) 
{ 
    echo $single_new[0] . " - " . $single_new[2] . "\n"; 
} 

Si vous avez seulement besoin de ces deux domaines, il suffit:

$news = NewsDat(); 
$field1 = $news[0][0]; 
$field2 = $news[0][2]; 
echo $field1 . " - " . $field2 . "\n";