我有这段代码:
$arr = json_decode($jsondata, TRUE);
$arr2 = $arr['items']['item'];
echo '<ul>';
foreach ($arr2 as $val) {
echo '<li>'.$val[description].'</li>';
}
echo '</ul>';
哪个输出:
我只想将'Ann'存储在变量说$ plan中。我似乎无法完成这件事。我怎么能这样做?
答案 0 :(得分:0)
首先,我会稍微清理PHP代码。你永远不应该在PHP中编写纯HTML。
<?php
$arr = json_decode($jsondata, TRUE);
$arr2 = $arr['items']['item'];
?>
<ul>
<?php foreach ($arr2 as $val): ?>
<?php $plan = explode('(', $val[description])[0] ?>
<li><?php echo $val[description] ?></li>
<?php endforeach ?>
</ul>
使用explode('(', $val[description])[0])
,您将获得(
之前的第一部分。 $plan
将在第一次迭代后Ann
投标Late Fee
。
答案 1 :(得分:0)
我想你想在第一个“(”之前)获得所有内容。“这不一定是前3个字符。
function get_everything_before_paren_open($str)
{
$p = strpos($str, '(');
if($p === FALSE) {
return $p;
} else {
return rtrim(substr($str, $p-1));
}
}
然后您可以将代码编写为
$arr = json_decode($jsondata, TRUE);
$arr2 = $arr['items']['item'];
echo '<ul>';
foreach ($arr2 as $val) {
$plan = get_everything_before_paren_open($val["description"]);
echo '<li>'.$plan.'</li>';
// Position 1
}
echo '</ul>';
这将输出
如果您只想输出“Ann”,只需在代码中添加break;
而不是// Position 1
。然后“Ann”将被放入$plan
。