从数组创建一个字符串

时间:2014-06-26 08:48:51

标签: php

我有一个数组:

array(
 array('w' => '100', 'h'=>'100'),
 array('w' => '200', 'h'=>'200'),
 array('w' => '300', 'h'=>'300')
)

我想从这个数组创建一个字符串,如下所示:

[100, 100], [200, 200], [300, 300]

我看了看:

array_values()

我通过遍历每个数组来删除密钥来使用它,但是用方括号制作整个字符串的最佳方法是什么?

5 个答案:

答案 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