首页 > 解决方案 > 如何在php中使用foreach删除最后一个AMPERSAND字符串

问题描述

我创建了一个函数urldata,我插入的每个参数都将转换为 url 参数$_GET。所以我有一个问题,我无法删除最后一个&字符串。我已经搜索了trim()strpos()strlen() 以及这个示例

echo $url = substr($key.'='.$value.'&', 0, strrpos($key.'='.$value.'&', '&')); 
// not working it remmoves all ampersand

这个的输出。不工作它会删除所有&符号

food.com?apple=applefruit=fruitjohndoe=johndoe

所以这是我当前使用的代码。这是我用参数调用urldata的函数

 urldata('food.com',['apple','fruit','johndoe']);

这是我的功能

 function urldata($url,$data = array()){
    $duplicate = array();
    foreach ($data as $key) {
        array_push($duplicate,$key);
    }
    $newurl = '';
    $trim = array();
    foreach (array_combine($duplicate,$data) as $key => $value) {
        if($newurl==''){
            $newurl = $url;
            echo $newurl.'?';
        }
        echo $key.'='.$value.'&';
    }
}

这个的输出

food.com?apple=apple&fruit=fruit&johndoe=johndoe&

你在我最后的力量中看到了我有一个&符号我想删除它。我想看到的最终输出是这样的

  food.com?apple=apple&fruit=fruit&johndoe=johndoe

标签: phparraysfunctionloopsforeach

解决方案


推荐阅读