gpt4 book ai didi

php: explode 字符串

转载 作者:行者123 更新时间:2023-12-04 20:22:04 26 4
gpt4 key购买 nike

我正在尝试从字符串中获取一个简单的数组。

Ej。 [位置] => ???? [标题] => ??? [音调] => ??? [缩放] => ???

但由于某种原因,我收到以下错误:

Notice: Undefined index: heading on line 21

这是 PHP 代码:

<?php
$mysql_data=
"position: 34.032616, -118.286564|
heading: -159.50240187408838|
pitch: 0|
zoom: 2";


$pov = explode("|", $mysql_data);
foreach($pov as $key)
{
$element = explode(": ", $key);
$pov[ $element[0] ] = $element[1];
}
unset($element);


//Testing echoes
print_r($pov);
echo "\n";
echo $pov['heading'];
?>

此外,是否有一种更简单的方法可以一次完成此操作并一起跳过 foreach?
顺便说一句:我不需要键的 0,1..etc,只需要标记为“标题”、“缩放”等的标签

最佳答案

heading 前面有一个换行符。

在您的循环中,您应该trim() 数组键(和值以防万一):

$pov[ trim($element[0]) ] = trim($element[1]);

更新

一个简单的正则表达式也可以解决这个问题:

$s = <<<EOM
position: 34.032616, -118.286564|
heading: -159.50240187408838|
pitch: 0|
zoom: 2
EOM;

if (preg_match_all('/(\w+):([^|]+)/', $s, $matches)) {
$pov = array_combine($matches[1], $matches[2]);
}

顺便说一句:不要使用 parse_str hack,该函数适用于已经正确进行 URL 编码的数据,老实说,这是错误的工具。

关于php: explode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com