Php 如何在While循环中初始化关联数组?
我现在做一件简单的事情,我将从一个CSV文件中读取,a列包含诸如“EN”之类的代码,B列包含特定的名称“English”。等等,我想将它们读入一个关联数组 我目前的做法是:Php 如何在While循环中初始化关联数组?,php,arrays,while-loop,associative-array,Php,Arrays,While Loop,Associative Array,我现在做一件简单的事情,我将从一个CSV文件中读取,a列包含诸如“EN”之类的代码,B列包含特定的名称“English”。等等,我想将它们读入一个关联数组 我目前的做法是: $handle = fopen("Languages.csv","r") or die("EPIC FAIL!"); $languageArray = array( while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
$handle = fopen("Languages.csv","r") or die("EPIC FAIL!");
$languageArray = array(
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$row[0] => $row[1],
}
)
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$languageArray[$row[0]] = $row[1];
}
但它实际上抱怨我的语法,所以我只是想知道是否有一种方法可以通过获取csv文件的所有行来初始化我的关联数组,并将第一个字符串(来自列a)作为键,第二个字符串(来自列B)作为值
谢谢。首先将其初始化为空:
$languageArray = array();
然后使用单独的while循环进行填充,如下所示:
$handle = fopen("Languages.csv","r") or die("EPIC FAIL!");
$languageArray = array(
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$row[0] => $row[1],
}
)
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$languageArray[$row[0]] = $row[1];
}
PHP数组/散列没有固定的大小,因此在各种方式下都是可变的,因此,即使您将它们初始化为空,也可以在以后根据需要填充它们。按常规操作:
$languageArray = array();
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$languageArray[$row[0]] = $row[1];
}
首先创建阵列:
$myArray = array();
然后添加键=>值绑定:
$myArray[$key] = $value;
在您的情况下,这应该类似于(在循环中):
首先初始化一个空数组,然后用您的数据填充它,怎么样
$languageArray = array();
然后,逐行遍历CVS文件,使用每一行将数据放入该数组:
$handle = fopen("Languages.csv","r") or die("EPIC FAIL!");
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
// $row[0] is the first column,
// $row[1] is the second one.
$languageArray[$row[0]] = $row[1];
}
不能使用数组初始化中的代码声明数组:必须分两步执行