我有一个数组:
array(
array('w' => '100', 'h'=>'100'),
array('w' => '200', 'h'=>'200'),
array('w' => '300', 'h'=>'300')
)
我想从这个数组创建一个字符串,如下所示:
[100, 100], [200, 200], [300, 300]
我看了看:
array_values()
我通过遍历每个数组来删除密钥来使用它,但是用方括号制作整个字符串的最佳方法是什么?
答案 0 :(得分:2)
您可以使用implode格式化一些基本的字符串连接,如下所示:
$string='';
foreach($mainArray as $v)
{
$string.='['.(implode(',',$v)).'],';
}
$string=substr($string,0,-1);
最后一点wioll从foreach语句中删除尾随的逗号。
答案 1 :(得分:1)
您只需使用json_encode()
:
$values = array(
array('w' => '100', 'h'=>'100'),
array('w' => '200', 'h'=>'200'),
array('w' => '300', 'h'=>'300'),
);
$new_values = array();
foreach ($values as $value) {
// put cast int @Tash:
$new_values[] = json_encode(array((int)$value['w'], (int)$value['h']));
}
echo implode(',', $new_values); // [100,100],[200,200],[300,300]
答案 2 :(得分:0)
$tmp = array(
array('w' => 100, 'h' => 100),
array('w' => 200, 'h' => 200),
array('w' => 300, 'h' => 300)
);
$str = '';
foreach ($tmp as $i => $value) {
if ($i == 0)
$str = '[' . implode(',', $value) . ']';
else
$str.= ', [' . implode(',', $value) . ']';
}
var_dump($str);
答案 3 :(得分:0)
$array=array(
array('w' => 100, 'h'=>100),
array('w' => 200, 'h'=>200),
array('w' => 300, 'h'=>300)
);
$str='';
foreach ($array as $key=>$val) {
$str .= '['.$val['w'].','.$val['h'].'],';
}
$str = substr($str,0,-1);
echo $str;
答案 4 :(得分:0)
那是Json。
试试这个,即使不那么干净。
<?php
$ace=array(
array('w' => 100, 'h'=>100),
array('w' => 200, 'h'=>200),
array('w' => 300, 'h'=>300)
);
$json="";
foreach($ace as $key=>$value){
$json.= json_encode(array($value['w'],$value['h'])) . ",";
}
echo substr($json,0,-1);//remove last comma