2017-12-18 76 views
1

我有循環一個這是這樣的:如何節省超過1個記錄到一個數組

for($i=0;$i<$num;$i++){ 
    $sender_id = $updateArray["result"][$i]["message"]["from"]["id"]; 
    $sender_fname = $updateArray["result"][$i]["message"]["from"]["first_name"]; 
    $sender_lname = $updateArray["result"][$i]["message"]["from"]["last_name"]; 
    $sender_uname = $updateArray["result"][$i]["message"]["from"]["username"]; 
    $sender_msg = $updateArray["result"][$i]["message"]["text"]; 
    // sender id 
    if(!(in_array($sender_id, $sender_ids))){ 
     $sender_ids[] = $sender_id; 
     // $sender_infos = $sender_id + $sender_fname + $sender_lname + $sender_msg + $sender_msg; 
    }else{ 
     $key1 = array_search($sender_id, $sender_ids); // continue 
    } 
} 

我所做的就是抓住關於發送一些信息,並將其存儲在兩個獨立的陣列稱爲sender_ids[]sender_infos[]

但你可以在代碼中看到我評論過這條線:

// $sender_infos = $sender_id + $sender_fname + $sender_lname + $sender_msg + $sender_msg; 

基本上我想超過1個索引存儲到$sender_infos[]陣列這裏,但我不我怎麼能做到這一點..

所以,如果你知道如何做到這一點,請讓我知道。

+3

使用foreach? [PHP的:foreach](http://php.net/manual/en/control-structures.foreach.php) – Granny

+0

你能告訴我們一個假想的陣列,你想要的結果? – SaidbakR

回答

4

沒有ne ED使用for()循環,而不是使用foreach()循環,並宣佈$sender_ids$sender_infos外循環,你應該聲明和使用$sender_infos作爲一個數組,像這樣:

$sender_infos = []; 
$sender_ids = []; 
foreach($updateArray["result"] as $message){ 
    $sender_id = $message["message"]["from"]["id"]; 
    $sender_fname = $message["message"]["from"]["first_name"]; 
    $sender_lname = $message["message"]["from"]["last_name"]; 
    $sender_uname = $message["message"]["from"]["username"]; 
    $sender_msg = $message["message"]["text"]; 
    // sender id 
    if(!(in_array($sender_id, $sender_ids))){ 
     $sender_ids[] = $sender_id; 
     $sender_infos[] = [ 
      $sender_id, 
      $sender_fname, 
      $sender_lname, 
      $sender_msg, 
     ]; 
    }else{ 
     $key1 = array_search($sender_id, $sender_ids); // continue 
    } 
} 

或者用$sender_infos作爲關聯數組來代替:

$sender_infos[] = [ 
    'sender_id' => $sender_id, 
    'sender_fname' => $sender_fname, 
    'sender_lname' => $sender_lname, 
    'sender_msg' => $sender_msg, 
]; 
4

創建另一個數組sender_infos

$sender_infos[] = [$sender_id,$sender_fname,$sender_lname,$sender_msg]; 

,你將能夠訪問相關信息像$sender_infos[0]

或關聯數組

$sender_infos[] = ['sender_id'=>$sender_id,'sender_fname'=>$sender_fname,'sender_lname'=>$sender_lname,'sender_msg'=>$sender_msg]; 

,你將能夠訪問相關信息像$sender_infos["sender_id"]

相關問題