虽然我已经尝试过几次不同的事情,但事先已经道歉了,显然我还不是一个php专家。 我正在寻找一种方法来整理我的代码,我很确定我不需要为每一行连续输入“echo”但是无法弄清楚如何组合我的代码来实现相同的结果,任何想法?
<?php
$values = get_field('bothscoreno');
$url = "$values";
$arr = str_split("$url, PHP_URL_QUERY");
if ($url) {
echo $arr[11];
echo $arr[12];
echo $arr[13];
echo $arr[14];
echo $arr[15];
echo $arr[16];
} else {
echo 'No';
}
?>
提前致谢。
答案 0 :(得分:4)
你发布的代码可能有错误,因为它的编写方式,看起来它的目的是做一些与实际不同的东西。
str_split()
将获取一个字符串并输出一个单个字符数组。看起来你试图传递两个参数,但用引号括起来意味着它实际上只是一个字符串。
因此,如果$url
等于abc
,则您的str_split()
调用将输出a
,b
,c
的数组, ,
,,
P
,H
,P
,_
,U
,R
,{{ 1}},L
...等等。
我认为这不是你想要的。
但是,如果它是你想要的,那么你要拆分字符串,只是用_
再次将一些字符重新连接在一起。因此,您可以按如下方式简化整个过程:
echo
如果我是对的并且这不是你真正想要做的事情,那么我建议编辑问题以澄清或询问一个全新的问题。
答案 1 :(得分:3)
echo $arr[11].$arr[12]
答案 2 :(得分:3)
使用for循环并从14开始索引以回显结果
$values = get_field('bothscoreno');
$url = $values;
$arr = str_split("$url, PHP_URL_QUERY");
$string = '';
if ($url) {
for($i = 11;$i <= 16;$i++){
$string .= $arr[$i];
}
} else {
$string = 'No';
}
echo $string;
答案 3 :(得分:2)
PHP
中您可以使用.
作为连接运算符。
请参阅以下代码:
<?php
$values = get_field('bothscoreno');
$url = "$values";
$arr = str_split("$url, PHP_URL_QUERY");
if ($url) {
echo $arr[11].
$arr[12].
$arr[13].
$arr[14].
$arr[15].
$arr[16];
} else {
echo 'No';
}
&#13;
希望这有帮助!
答案 4 :(得分:2)
使用 array_slice
<?php
$values = get_field('bothscoreno');
$url = "$values";
$arr = str_split("$url, PHP_URL_QUERY");
if ($url) {
$subArr = array_slice($arr, 11, 6);
print_r($subArr);
// Or...
foreach ($subArr as $val) {
echo $val;
}
} else {
echo 'No';
}
?>