Concat操作弄乱了结果的字符串顺序

时间:2019-06-29 12:38:59

标签: php

我正在尝试连接两个变量-一个是字符串,另一个是数字之外的字符串。串联的结果应用作div的ID。

无论我如何在concat函数中对变量进行排序,带数字的字符串始终始终排在结果的首位。

    <?php $no = the_field('muralno');?>
    <?php $go = "slider-counter";?>
    <?php $item = "{$go}{$no}"; echo "$item" ?>

    <?php echo "<div id='$item' class='slider-counter'></div>"; ?>

预期结果是“ slider-counter003”。

实际输出为“ 003slider-counter”。

编辑:

解决方案: 问题出在函数the_field()。它是用于wordpress的“高级自定义字段”插件的一部分。 get_field()是替代版本,在这种情况下可以使用。

    <?php 
    $no = get_field('muralno');
    $item = "slider-counter". $no; 

    echo "<div id='".$item."' class='slider-counter'></div>"; 

    endif; ?>

感谢@lovelace

1 个答案:

答案 0 :(得分:0)

首先,不要在每一行中关闭和打开PHP标签。

<?php  // start writing php
$no = the_field('muralno');
$go = "slider-counter";
$item = $go . $no; // use dot for concatination
echo "<div id='".$item."' class='slider-counter'>".$item."</div>"; 
?> // end writing php.

此外,在PHP中使用.进行赋值。一个例子是

$first = "hello";
$second = ", World";
echo $first . $second; // hello, World

第三件事,使用引号。例如

$name = " John Doe";
echo "hello ".$name.""; // hello John Doe

基本上,我们只是进入字符串模式然后退出

$variable = " a string ".some valid php here." continue string ";