我正在阅读一个带有php的excell文件.没问题,但我被困在一个小逻辑部分.我想创建一个包含数据的多个其他数组的数组.
数据在我的excell文件中提供,我从哪个列开始读取但不知道何时停止,因为这是动态的.
我的问题是如何创建一个循环来读取我的列并在每个第5列上创建一个新数组.
所以我想要的是这样的:
(My data for the excell file is proved in $line[] each column has its number.)
array(
'length' => $line[15],
'width' => $line[16]
'price_per' => $line[17],
'price' => $line[18],
'stock' => $line[19]
),
array(
'length' => $line[20],
'width' => $line[21]
'price_per' => $line[22],
'price' => $line[23],
'stock' => $line[24]
),
array(
'length' => $line[25],
'width' => $line[26]
'price_per' => $line[27],
'price' => $line[28],
'stock' => $line[29]
), ....
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能使这个动态(for循环?)这样我有一个大的索引数组,有多个相关联的数组?注意:我的for循环应始终从第[15]行加注星标!
首先,如果您$line有任何您不想处理的元素(例如前面的15个示例所示),请将它们切片array_slice:
$line = array_slice($line, 15);
Run Code Online (Sandbox Code Playgroud)
然后使用array_chunk将原始数组拆分为多个部分:
$chunks = array_chunk($line, 5);
Run Code Online (Sandbox Code Playgroud)
然后,通过使用array_combine以下方法将每个值与正确的键相关联,将每个块转换为自己的数组:
$results = array();
$keys = array('length', 'width', 'price_per', 'price', 'stock');
foreach ($chunks as $chunk) {
$results[] = array_combine($keys, $chunk);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12862 次 |
| 最近记录: |