2010-02-11 2 views
0

Это функция:PHP функция помощи

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()); 

Который возвращает:

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

мне нужно повторить: 1183443434 и Here is some text...

Может кто-нибудь помочь?

+0

Кто-нибудь знает, как я могу сортировать массив для получения последних элементов в файле DAT? – CLiown

ответ

1

Basic array обслуживание?

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

Но я не знаю, всегда ли значения в этих положениях при запуске вашей функции.

1

Ну как NewsDat возвращает массив массивов, если вам нужны эти два поля на каждой линии, это должно сделать трюк:

$news = NewsDat(); 

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

Если вам нужны только эти два поля, просто:

$news = NewsDat(); 
$field1 = $news[0][0]; 
$field2 = $news[0][2]; 
echo $field1 . " - " . $field2 . "\n"; 
Смежные вопросы