整理PHP回声代码

时间:2017-06-06 11:51:34

标签: php

虽然我已经尝试过几次不同的事情,但事先已经道歉了,显然我还不是一个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';
}
?>

提前致谢。

5 个答案:

答案 0 :(得分:4)

你发布的代码可能有错误,因为它的编写方式,看起来它的目的是做一些与实际不同的东西。

str_split()将获取一个字符串并输出一个单个字符数组。看起来你试图传递两个参数,但用引号括起来意味着它实际上只是一个字符串。

因此,如果$url等于abc,则您的str_split()调用将输出abc的数组, ,PHP_UR,{{ 1}},L ...等等。

我认为这不是你想要的。

但是,如果它是你想要的,那么你要拆分字符串,只是用_再次将一些字符重新连接在一起。因此,您可以按如下方式简化整个过程:

echo

如果我是对的并且这不是你真正想要做的事情,那么我建议编辑问题以澄清或询问一个全新的问题。

答案 1 :(得分:3)

将该点用作concatenation operator

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

您可以使用.作为连接运算符。

请参阅以下代码:

&#13;
&#13;
<?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;
&#13;
&#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';
    }
    ?>