fgetcsv - выполнить функцию по первому значению столбца? - PullRequest
2 голосов
/ 22 марта 2012

У меня есть CSV с двумя рядами.

if (($handle = fopen("twoRows.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
print_r($data);

Возвращает два массива с разрывом строки в конце первого массива.

Если я хочу получить доступ к первому столбцу, я делаю

echo $data[0];

и получите

value1
value2

Тем не менее, если я сделаю что-то вроде:

$data[0] = $post_ID;
echo 'Post ID = ' . $post_ID . '<br />';

Я получаю нулевой вывод для $ post_ID

Post ID =
Post ID =

Как выполнить функцию для каждого значения первого столбца?

Ответы [ 3 ]

3 голосов
/ 22 марта 2012

где объявлено $post_ID?

Разве ты не собираешься делать

$post_ID = $data[0];

echo 'Post ID = ' . $post_ID . '<br />';
0 голосов
/ 22 марта 2012

Сделайте это внутри вашей петли:

if (($handle = fopen("twoRows.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $post_ID = $data[0];
        echo 'Post ID = ' . $post_ID . '<br />';
    }
}
0 голосов
/ 22 марта 2012

Вы устанавливаете $data[0] на $post_ID, должно быть наоборот:

$post_ID = $data[0];
echo 'Post ID = ' . $post_ID . '<br />';
...