Php 基于数组创建X长度的字符串

Php 基于数组创建X长度的字符串,php,arrays,strlen,Php,Arrays,Strlen,我想迭代一个数组,并从该数组创建一个字符串。 但是,每个字符串需要具有一定的大小(500字节) 所以我的数组看起来像: Array ( [0] => Array ( [name] => shirt [price] => 1.25 ) [1] => Array ( [name] => car [price]

我想迭代一个数组,并从该数组创建一个字符串。 但是,每个字符串需要具有一定的大小(500字节)

所以我的数组看起来像:

Array
(
    [0] => Array
        (
            [name] => shirt
            [price] => 1.25
        )

    [1] => Array
        (
            [name] => car
            [price] => 25.10
        )
    ...
)

$str = "";

foreach($arr as $v) {
    $str .= "<name>".$v['name']."</name>";
    $str .= "<price>".$v['price']."</price>";
}
str = '<name>flower</name><pri';
数组
(
[0]=>阵列
(
[姓名]=>衬衫
[价格]=>1.25
)
[1] =>阵列
(
[名称]=>汽车
[价格]=>25.10
)
...
)
$str=”“;
外汇($arr为$v){
$str.=''.$v['name'].'';
$str.=''.$v['price'].'';
}
输出应该类似于:

str1 = '<name>shirt</name><price>1.25</price><name>car</name><price>25.10</price>...' // until 500 bytes or less. 
str2 = '<name>shirt</name><price>1.25</price><name>car</name><price>25.10</price>...' // until 500 bytes or less. 
str1='shirt1.25car25.10…'//直到500字节或更少。
str2='shirt1.25car25.10…'//直到500字节或更少。
//我需要完整的标签。所以我不能有这样的字符串:

Array
(
    [0] => Array
        (
            [name] => shirt
            [price] => 1.25
        )

    [1] => Array
        (
            [name] => car
            [price] => 25.10
        )
    ...
)

$str = "";

foreach($arr as $v) {
    $str .= "<name>".$v['name']."</name>";
    $str .= "<price>".$v['price']."</price>";
}
str = '<name>flower</name><pri';

str='flower听起来是个不错的候选者。

将每个片段保存为少于500个字符

$xml = array();
$str = '';
foreach($arr as $v)
{
    $temp = "<name>".$v['name']."</name>";
    $temp .= "<price>".$v['price']."</price>";

    if(mb_strlen($str . $temp) > 500)
    {
        $xml[] = $str;
        $str = '';
    }
    $str = $temp;
}
$xml[] = $str;

print_r($xml);
$xml=array();
$str='';
外汇($arr为$v)
{
$temp=“”.$v['name']”;
$temp.=''.$v['price']。'';
如果(mb_strlen($str.$temp)>500)
{
$xml[]=$str;
$str='';
}
$str=$temp;
}
$xml[]=$str;
打印(xml);

为什么不告诉我们为什么要这样做,让我们告诉您正确的方法?基本上,我需要包含两个标记的字符串,
。所以我想把尽可能多的数组元素放入一个字符串中。但是因为我知道数组有很多元素,而且我也知道每个字符串必须小于500字节,所以我可能需要几个字符串。您需要500个字符长的字符串,或者需要符合标记边界的字符串。你不能两者都有。你能详细说明一下吗?很好的默认值,但上面的XML看起来像是XML,如果像这样拆分,它将是无效的。你是对的。我在想Kayla想将输出流分成小块。str_split的问题是它会在错误的位置断开字符串。所有字符串都应包含两个标记:
name
price