[英]Build multidimensional array from string naming key values in php
所以我遇到了這個問題,我正在從具有這種結構的 excel 中提取一個字符串:
89.356 87.54、45.34 98.254、45.2413 45.2146、98.23 35.647
我想構建一個具有以下結構的數組:
Array
(
[0] => Array
(
['first'] => 89.356
['second'] => 87.54
)
[1] => Array
(
['first'] => 45.34
['second'] => 98.254
)
[2] => Array
(
['first'] => 45.2413
['second'] => 45.2146
)
)
我從 excel 中提取這些值並創建這樣的數組:
$polygons = $sheet->getCell("B".$row)->getValue();
$ret = array_map (
function ($) {return explode (' ', $);},
explode (',', $polygons)
);
但我不知道如何將鍵值 'first' 和 'second' 分配給數組。
首先,只是指出您的代碼會產生錯誤,因為您無法創建沒有名稱 ex 的變量。 在您的代碼中,您只有$作為變量。
這是你如何做到的。
$ret = array_map( function( $pol ) {
$a = array_map( 'floatval', explode( ' ', $pol, 2 ) ); // 1
return array_combine( ['first', 'second'], $a ); // 2
}, explode( ',', $polygons ) );
輸出: var_dump( $ret );
array(3) {
[0] => array(2) {
["first"] => float(89.356),
["second"] => float(89.356),
},
[1] => array(2) {
["first"] => float(45.34),
["second"] => float(98.254),
},
[2] => array(2) {
["first"] => float(45.2413),
["second"] => float(45.2146,
},
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.