2015-09-08 4 views
0

У меня есть цикл в то время как петли по линии текстамассив в то время как цикл PHP

while ($line_of_text = fgetcsv($file_processing, 4096)) { 

В это время цикла Поручаю переменные в разные части массива

IF($i > 0) 
    { 
    echo "</br>"; 
    $account_type_id = $line_of_text[0]; 
    echo "Account Type ID: " . $account_type_id. "<br>"; 

    $account_number = $line_of_text[1]; 
    echo "account_number = " . $account_number . "<br>"; 

Это в то время как петли петли через многие линии. Я пытаюсь найти способ сказать, что

IF $ account_type_id == 99 затем добавить $ account_number в массив. Тогда вне цикла в то время как распечатать весь массив $ account_numbers где $ account_type_id == 99.

Я попытался с помощью print_r, но он будет отображать только последний массив ...

+0

'if ($ account_type_id == 99) {$ account_numbers [] = $ account_numbers; } '? –

ответ

1

Чтобы добавить элемент массив, вы можете использовать array_push.

Прежде всего, необходимо создать массив (перед тем цикл, а):

$my_array = array(); 

Затем в цикле while, сделайте следующее:

if ($account_type_id == 99) { 
    array_push($my_array, $account_number); 
} 

Затем, чтобы отобразить массив, либо используйте print_r или var_dump. Для того, чтобы сделать массив легче читать, вы также можете сделать это:

echo "<pre>".print_r($my_array, 1)."</pre>"; 
+1

$ my_array = new array(); не является синтаксисом PHP. –

+0

Простая ошибка для изменения. Не вижу необходимости понижать, но эй хо! – mfisher91

+0

Я был смущен, кто-то проголосовал за неправильный ответ. –

0

Rocket H был ответ в комментарии он разместил

внутри вашей петли

if($account_type_id == 99){ 
    $account_numbers[] = $account_number; 
    } 

После цикла

print_r($account_numbers); 
Смежные вопросы