简单地说,我需要取一个数组的第一列并将其转换为命名数组,在单个2d数组中多次转换。
$ arr [0] [0] =“姓名” $ arr [1] [0] =“版本” ...等,允许我然后访问它们: $ arr [“姓名”] [1] =“鲍勃” $ arr [“版本”] [1] =“1.00”
如何为索引分配变量名?如果这是有道理的。我不知道这种事情的正确用语......或者至少不知道如何使用它们。
无论如何,实际的数组看起来像这样:
Name,Version,Compact,OpenGFx
Element1,1.0,0,0,1
Element2,1.23,0,0,1
ElementN,1.0,0,0,1
我开始编写标识符以执行相同的操作($ name = 0,$ version = 1等),但 165列!因此,自动化将变得更加容易,我有兴趣一如既往地学习新事物!
答案 0 :(得分:2)
如果我理解正确,你不想写出所有的标题吗?也许你可以做类似这段代码的事情:
我刚刚假设了输入数组的格式,您可能需要稍微更改一下:
$input = array(
array('name', 'version', 'compact'), // and so on
array('element1', 1.0, 0),
array('element2', 1.3, 1) // and so on
);
$headings = array_shift($input);
$output = array();
foreach ($input as $row) {
$newrow = array();
foreach ($headings as $index => $name) {
$newrow[$name] = $row[$index];
}
$output[] = $newrow;
}
var_dump($output);
答案 1 :(得分:2)
$ array = array();
// add your values to the last index
$array['Name'][] = 'Counter Strike';
$array['Version'][] = '1.6';
$array['Name'][] = 'Bob';
$array['Version'][] = '1.0';
// display results
echo $array['Name'][0]; // Counter Strike
echo $array['Version'][0]; // 1.6
echo $array['Name'][1]; // Bob
echo $array['Version'][1]; // 1.0
// sexier way
$element1 = array('Name' => 'Counter Strike', 'Version' => '1.6');
$element2 = array('Name' => 'Bob', 'Version' => '1.0');
// add the element
$array[] = $element1;
$array[] = $element2;
// or
array_push($array, $element1);
array_push($array, $element2);
// display with a loop
foreach ($array as $element) {
echo $element['Name'];
echo $element['Version'];
}
// or
echo $array[0]['Name']; // Counter Strike
echo $array[1]['Name']; // Bob
答案 2 :(得分:1)
好的,你做的是:
$arr = array();
$arr['NAME'] = array();
$arr['VERSION'] = array(); //and so on
//to add to the array:
$arr['NAME'][] = 'john';
//or
$arr['NAME'][0] = 'john';
//etc etc
然后打印您可以执行的所有名称(例如):
foreach($arr['NAME'] as $name){
echo $name.'<br/>';
}
答案 3 :(得分:1)
我想你想要像这样做你的数组:
$arr[] = array("name" => "nameValue"
, "version" => 1
, "compact" => 0 ) //...etc
然后您可以像这样访问它:
$currentName = $arr[0]['name'];
$currentVersion = $arr[0]['version'] //...etc