【发布时间】:2012-02-28 20:07:12
【问题描述】:
我想遍历一个数组并从该数组创建一个字符串。 但是,每个字符串都需要具有一定的大小(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>";
}
输出应该是这样的:
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.
// 我需要完整的标签。所以我不能有一个看起来像这样的字符串:
str = '<name>flower</name><pri';
【问题讨论】:
-
为什么不告诉我们为什么要这样做,让我们告诉你正确的方法?
-
基本上,我需要包含
<name>和<price>这两个标签的字符串。所以我想将尽可能多的数组元素推入一个字符串。但既然我知道数组有很多元素,而且我也知道每个字符串必须短于 500 字节,那么我可能需要几个字符串。 -
您要么需要 500 个字符长的字符串,要么需要遵守标签边界的字符串。你不能两者兼得。
-
您能详细说明一下吗?