我想在PHP中将我的表格数据导入多维数组,表格数据不断更新,因此一旦将数据插入表格中,矩阵就必须更新。我们如何创建一个多维数组,将数据插入其中,然后将数据动态追加到数组中?
问问题
2886 次
2 回答
0
通常,您会从表中得到一个“正常”的一维数组。要从中制作多维数组,您必须将一维数组放入多维数组。
为此,您可以使用以下内容:
$i = 0; //initialize i
while ($i < count($array)) { //as long as i is smaller than the array
foreach ($array as $key => $value) { //walk along the array
$newArray[$i][$key] = $value; // set the multidimensional array
}
$i++; // count one up
}
有了这个,你应该得到一个多维数组,如下所示:
array(
'0' => array(
'0' => 'foo'
'1' => 'bar'
)
'1' => array(
'0' => 'foo'
'1' => 'bar'
)
)
等等...希望这会有所帮助
于 2012-11-29T07:53:01.087 回答
0
对于您想做的事情,我认为应该查看对象方法,因为形成以下评论
汤姆,场景是我正在维护一个文档中的术语频率表,所以我的 column1 将是所有文档中的不同术语,并且为每个新文档添加一个新列,并插入相应的术语计数,并且如果它有任何新的术语;
我可以识别以下内容
- 团队
- 文档
而不是使文档为空,仅更新所需的团队信息
例子
// Porpulate Teams
$teams = array_map(function ($v) {return new Team($v);}, range("A", "Z"));
// Porpulate Documents
$doc = new SplObjectStorage();
for($i = 0; $i < 100; $i ++) {
$doc->attach(new Document($teams[array_rand($teams)]));
}
usort($teams, function($a,$b){ return $b->frequency - $a->frequency;});
//Top 10 Teams
echo "<pre>";
foreach (array_slice($teams, 0,10) as $team ) {
echo "Team ", $team->name, "\t", $team->frequency, PHP_EOL;
}
输出
Team P 9
Team N 8
Team S 7
Team Q 6
Team M 6
Team D 6
Team O 5
Team G 5
Team K 5
Team F 5
使用的类
class Document {
function __construct(Team &$team) {
//Do your metrix
$team->frequency ++;
}
}
class Team {
public $name;
public $frequency = 0;
function __construct($name) {
$this->name = $name;
}
}
于 2012-11-29T09:40:46.870 回答