Как передать массив в файл HTML? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть тег в моем HTML файле и у меня есть функция myfun c в моем PHP файле. Как передать массив в href моей функции "myfun c"?

<a class="btn btn-danger" href="<?php echo myfunc("this is arg1 witch is string", ['id']); ?>">delete</a>

А это моя функция PHP:

function myfunc($str,$param=[])
{ 
    return true;
}

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

В Codeigniter вы можете создать функцию в контроллере, а затем

class Controller extends CI_Controller{
    function myfunction($str, $param = []){
         return "something";
    }
}

в соответствующем представлении

<a class="btn btn-danger" href="<?php echo $this->myfunc("this is arg1 witch is string", ['id']); ?>">delete</a>

Но рекомендуемый способ - предварительно обработать данные и передать это представление, описанное в здесь .

0 голосов
/ 06 мая 2020

У вас не может быть массивов в формате URL, но при необходимости он должен быть в формате encoded, я написал демонстрационный код, посмотрите, решит ли это вашу проблему ↓↓

Просмотр

<?php 
    $id = array('1', '2');

    // convert the array to JSON objects and then convert the string(object) to query part of the URL.
    $id = urlencode(json_encode($id));
?>
<a class="btn btn-danger" href="<?php echo base_url("home/form/this is arg1 witch is string/{$id}"); ?>">delete</a>

Контроллер

function form($str, $param){

    echo urldecode($str); // convert the URL string back into its original form 
    echo '<br>';
    print_r(json_decode(urldecode($param)));  // Convert the URL string into encoded form and then convert it back to an array.
}

Выход

this is arg1 which is string
Array ( [0] => 1 [1] => 2 )

Подробнее о json_encode , urlencode , urldecode , json_decode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...