我想将我的字符串转换成数组,我给你我想要的东西和我尝试过的例子。我的字符串看起来像这样:
Height:
3/16
Color:
Standard Red
Material:
Die-cut, pressure-sensitive paper
Package Quantity:
1000/Pkg
Reusable:
Yes
Size:
3/16 H x 1/4 W
我希望它将其转换为数组,如下所示:
Array
(
[0] => Height: 3/16
[1] => Color: Standard Red
[2] => Material: Die-cut, pressure-sensitive paper
[3] => Package Quantity: 1000/Pkg
[4] => Reusable: Yes
[5] => Size: 3/16 H x 1/4 W
)
我尝试过:
$array = explode("\n", $string);
但是我得到了这个结果:
Array
(
[0] => Height:
[1] => 3/16
[2] => Color:
[3] => Standard Red
[4] => Material:
[5] => Die-cut, pressure-sensitive paper
[6] => Package Quantity:
[7] => 1000/Pkg
[8] => Reusable:
[9] => Yes
[10] => Size:
[11] => 3/16 H x 1/4 W
[12] =>
)
答案 0 :(得分:1)
通过将字符串分成几行,您在正确的轨道上。然后,您需要group the array into pairs行,implode
在一起。在这里,我使用array_map
一次修改每个对,但如果更简单,也可以通过简单的for循环来完成。
$lines = explode("\n", trim($string));
$combined = array_map(
function($line) { return implode(' ', $line); },
array_chunk($lines, 2)
);
$combined
现在应该与您问题中的输出匹配。有关完整示例,请参见https://3v4l.org/ZdgWS。
答案 1 :(得分:0)
您可以使用以下内容:
render() {
return (
<View style={[styles.container,styles.justify_center,styles.align_items_center]}>
{this.props.children}
</View>
);
}
输出:
preg_match_all('/(?<key>.+):\n(?<value>.+)/', $s, $a);
$result = array_combine($a['key'], $a['value']);
print_r($result);
因此,您只需要使用以下两个功能: array_combine() preg_match_all()