【问题标题】:Concatenate values in an array in php在php中连接数组中的值
【发布时间】:2018-05-02 13:51:58
【问题描述】:

我有一个 csv 文件,要从中显示所选项目。例如:

Name, Surname, ID, Job, Salary, DOB
adam, Parker, 123, admin, 500, 19.02.1988
joe, Oswald, 897, sales manager, 750, 10.04.1967

我想要一个将值存储为的数组:

Name, Surname, ID, Job, Salary, DOB
adam Parker, Parker, 123, admin, 500, 19.02.1988
joe Oswald, Oswald, 897, sales manager, 750, 10.04.1967

我已经提到了这个(How to merge/combine two values into single key in the same array),但不能用于多于一行。

【问题讨论】:

标签: php arrays


【解决方案1】:

一点理论: 数组是矩阵/向量/数组,根据其类型以 3 种可能的方式存储值。

  • 数值数组
  • 关联数组
  • 多维数组

数值数组 它是一种具有数字索引的数组类型,可以通过整数访问它的每个值。

示例:

$numeric_array = array($value1, $value2, $value3,...);

一个完整的例子:

$name = "Aner"; 
$numeric_array = array(1, 2, 3, "home", $name);

//get the length of array
$length = count($numeric_array);

//for cycle
for($i=0; $i<$length; $i++)
      {
      //get value of each element's array
      echo $numeric_array[$i];
      echo "<br>";
      }

访问值的其他方法是通过索引示例:

$numeric_array[0];//this get the first element

关联数组这是一个由键分配值的数组:

$assoc_array = array(key1=>value1, key2=>value2, key3=>value3...);

示例:

$equipe = array(goalie=>'Cech', defending=>'Terry', medium=>'Lampard', Forward=>'Torres');

foreach($equipe as $position=>$player)
    {
    echo "the " . $position . " is " . $player;
    echo "<br>";
    }

其他访问方法是按键:

 $equipe['goalie']

多维数组 多维数组是包含一个或多个数组的数组。

PHP 可以理解二、三、四、五或更深层次的多维数组。但是,对于大多数人来说,深度超过三层的数组很难管理。

数组的维度表示选择一个元素所需的索引数。

  • 对于二维数组,您需要两个索引来选择一个元素

  • 对于一个三维数组,您需要三个索引来选择一个 元素

二维数组示例:

echo "3-dimensional array:<br>";

$product=array(
            array(
               array("Epson Printer L110",100,4500),
               array("Canon Printer",100,5000),
               array("HP Laptop",500,40000)
            ),
            array(
                array("Micromax Canvas Lite",200,9000),
                array("Samsung Galaxy",300,15000),
                array("LAVA",100,4000)
            ),
            array(
                array("Sandisk 16 GB Pendrive",500,500),
                array("Card Reader",500,50),
                array("UPS",200,3000)
            )
);

// accessing elements from 3-dimensional product array.
echo "<table border=1 cellpadding=5 cellspacing=5>";
echo "<tr>";
echo "<th>Product</th>";
echo "<th>Quantity</th>";
echo "<th>Price</th>";
echo "</tr>";

for($l=0;$l<3;$l++)
{
    echo "<tr>";
    for($r=0;$r<3;$r++)
    {

        for($c=0;$c<3;$c++)
        {
            echo "<td>".$product[$l][$r][$c]."</td>";
        }
        echo "</tr>";

    }

}
echo "</table>";

我建议你阅读Arrays Doc official

【讨论】:

  • 这仅回答了 OP 对您所谓的特定类型数组的误解(OP 可以在手册中阅读)。它不会以任何方式回答实际的问题。
  • ...此外,“三维”数组的示例不会像您期望的那样工作。您覆盖了内部foreach() 中的$dates(在外部循环中使用)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多