我有一个列字符串(以逗号分隔的列列表):
$columns = "project,description,due_date,tags";
转换为:
$columns = array(
array( 'db' => 'project', 'dt' => 1 ),
array( 'db' => 'description', 'dt' => 2 ),
array( 'db' => 'due_date', 'dt' => 3 ),
array( 'db' => 'tags', 'dt' => 4 )
);
答案 0 :(得分:4)
试试这个
<?php
$columns = "project,description,due_date,tags";
$columns = explode(",", $columns);
$cArray = array();
foreach ($columns as $key => $value) {
$cArray[$key]['db'] = $value;
$cArray[$key]['dt'] = $key+1;
}
echo '<pre>'; print_r($cArray); echo '</pre>';
<强>输出: - 强>
Array
(
[0] => Array
(
[db] => project
[dt] => 1
)
[1] => Array
(
[db] => description
[dt] => 2
)
[2] => Array
(
[db] => due_date
[dt] => 3
)
[3] => Array
(
[db] => tags
[dt] => 4
)
)
?>
答案 1 :(得分:1)
$columns = "project,description,due_date,tags";
$col_Arr = explode(',',$columns);
$i=1;
$new_arr = [];
foreach($col_Arr as $val){
$new_arr[] = array('db'=>$val,'dt'=>$i);
$i++;
}
echo "<pre>"; print_r($new_arr); echo "</pre>";
答案 2 :(得分:1)
你可以这样做:
$arr= explode(",", $columns );
$result = [];
for(int i =0; i<arr.length; i++)
$result[] = ['db' => $arr[i], 'dt' => i+1];
答案 3 :(得分:1)
您可以尝试这样
$columns = "project,description,due_date,tags";
$explode_arr = explode(',', $columns);
$arrayval = "";
for($i=0; $i< count($explode_arr); $i++)
{
$arrayval[$i]['db'] = $explode_arr[$i];
$arrayval[$i]['dt'] = ($i+1);
}
print_r($arrayval);
exit;
答案 4 :(得分:0)
答案 5 :(得分:0)
首先,您需要将字符串转换为数组:
$columns = "project,description,due_date,tags";
$columns_array = explode(',', $columns);
// then you need to build your multi-dimensional array
$result = array();
foreach ($columns_array as $key => $item) {
$result[] = array(
'db' => $item,
'dt' => $key+1
);
}
var_dump($result);
答案 6 :(得分:0)
$columns = "project,description,due_date,tags";
$myArray = explode(',', $columns);
$len=sizeof($myArray);
for($i=0;$i<$len;$i++){
$newArr[] = array('db'=>$myArray[$i],'dt'=>$i);
}
echo '<pre>'; print_r($newArr); echo '</pre>';