Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在While循环中初始化关联数组?_Php_Arrays_While Loop_Associative Array - Fatal编程技术网

Php 如何在While循环中初始化关联数组?

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) {

我现在做一件简单的事情,我将从一个CSV文件中读取,a列包含诸如“EN”之类的代码,B列包含特定的名称“English”。等等,我想将它们读入一个关联数组

我目前的做法是:

  $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];
}

不能使用数组初始化中的代码声明数组:必须分两步执行