使用 PHP 将 CSV 文件解析为列

内森·贝恩

我不确定如何将列添加到我的 CSV 文件中的信息中。我想要的三列是手机号码、运营商名称和有效性状态。

索引.php:

<?php

if (($open = fopen("Book1.csv", "r")) !== FALSE)
{

while (($data = fgetcsv($open, 1000, ",")) !== FALSE)
{       
$array[] = $data;
}

fclose($open);
}
echo "<pre>";
//To display array data
var_dump($array);
echo "</pre>";

我的信息当前显示如下代码所示:

array(6) { [0]=> array(3) {
                [0]=> string(11) "0744395****"
                [1]=> string(9) " Vodafone"
                [2]=> string(6) " Valid"
            }
            [1]=>    array(3) {
                [0]=> string(11) "0744395****"
                [1]=> string(3) " EE"
                [2]=> string(6) " Valid"
            }
            [2]=> array(3) {
                [0]=> string(11) "0744395****"
                [1]=> string(6) " Three"
                [2]=> string(6) " Valid"
            }
            [3]=> array(3) {
                [0]=> string(11) "0744395****"
                [1]=> string(9) " Vodafone"
                [2]=> string(6) " Valid"
            }
            [4]=> array(3) {
                [0]=> string(11) "0744395****"
                [1]=> string(13) " Tesco Mobile"
                [2]=> string(10) " Not Valid"
            }
            [5]=> array(3) {
                [0]=> string(11) "0744395****"
                [1]=> string(3) " EE"
                [2]=> string(6) " Valid"
            } 
}

我希望将信息按如下所示进行分列(我找到的在线示例):

[REPTILE] => Array(
        [0] => stdClass Object(
                [animal] => crocodile
                [type] => REPTILE
                [number] => 4
            )
    )

[BIRD] => Array(
        [0] => stdClass Object(
                [animal] => duck
                [type] => BIRD
                [number] => 2
            )
    )

[MAMMAL] => Array (
        [0] => stdClass Object(
                [animal] => koala
                [type] => MAMMAL
                [number] => 4
            )
        [1] => stdClass Object(
                [animal] => lion
                [type] => MAMMAL
                [number] => 5
            )
    )

[FISH] => Array
    (
        [0] => stdClass Object(
                [animal] => áéíóú
                [type] => FISH
                [number] => 3
            )
    )

这是我的信息在 CSV 文件中的存储方式:

0744395****, Vodafone, Valid
0744395****, EE, Valid
0744395****, Three, Valid
0744395****, Vodafone, Valid
0744395****, Tesco Mobile, Not Valid
0744395****, EE, Valid
里格斯愚蠢
$newArray = [];

if (($fh = fopen("Book1.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($fh, 1000, ",")) !== FALSE) {
        $o = new stdClass;
        
        $o->MobileNumber    = trim($data[0]);
        $o->Carrier         = trim($data[1]);
        $o->ValidityStatus  = trim($data[2]);
        $newArray[$o->Carrier][] = $o;
    }
}

应该生成一个 Carriers 数组,每个 Carriers 都有一个包含电话号码和状态的对象数组

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章