如何在PHP中使用数字和字符内的基本URL?

时间:2017-11-09 10:47:49

标签: php html string codeigniter base-url

我的基本网址是http://localhost/test/。我有一个名为Click me的锚标记。我查看了视图源它显示如

`<a href='http://localhost/test/abdah.0`p)dp'>Click me</a>` 

它应该显示为

`<a href='http://localhost/test/index.php/example/index/4&action=print'>Click me</a>`

我尝试了代码,但它无法正常工作。

<?php
      $session_stud_id=4;
      $bg_url='index.php/example/index/'.$session_stud_id;
      $action_url="action=print"; 
      echo $main_url=$bg_url&$action_url;//output abdah.0`p)dp 
      ?>
  <a href="<?php echo base_url($main_url);?>" >Click me</a>

我得到的东西有点像abdah.0 p)dp`。 你能帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

您必须使用.连接多个字符串 将您的main_url更改为:

echo $main_url=$bg_url."&".$action_url;

答案 1 :(得分:1)

你没有在这一行正确连接字符串

$main_url=$bg_url&$action_url;

应该是这样的

$main_url=$bg_url . "&" . $action_url;

答案 2 :(得分:1)

&PHP bitwise AND operator。根据该手册页,当您将其与字符串结合使用时:

  

如果两个操作数都为&amp;,|和^运算符是字符串,然后将对组成字符串的字符的ASCII值执行操作,结果将是一个字符串。在所有其他情况下,两个操作数都将转换为整数,结果将是一个整数。

所以你的两个字符串index.php/example/index/action=print就像这样逐字逐句地被评价。对于第一个字符:

Char Ascii Binary
a    97    1100001
i    105   1101001

这些二进制值的评价如下:

  1100001
  1101001
& 1100001

在这种情况下,我们最终返回值97,它等同于a,它显示在最终字符串中。对于较短字符串长度之后的值,将对零值进行求值,这样就不会添加任何字符。

您可能想要使用

$main_url = "{$bg_url}?{$action_url}";
echo $main_url;

(其他答案提到只是与&连接,但由于您的$bg_url没有现有的查询字符串,我认为您可能需要使用?