我编写了以下代码块。第一个函数从INPUT数组生成一个随机key =元素。第二个应该是那个生成的元素并将其移动到NEW数组。当所有代码都在一个函数中时,该代码似乎可以工作。当这种结构时,它不起作用。
我通过声明变量“ global”来尝试。还尝试通过将变量作为函数中的参数传递,以及在单击按钮时调用它们时进行尝试。似乎没有任何作用。
我是新手,可能会错过一些显而易见的东西。
<?php
//load json files
$str = file_get_contents('input.json');
$input = json_decode($str, true);
$str1 = file_get_contents('new.json');
$new = json_decode($str1, true);
function generateNumber(){
//generate random key = element from INPUT array
$rand_keys = array_rand($input, 1);
//save the key = element from INPUT array into a variable
$removed = $input[$rand_keys];
//display element value
echo "<br/>------------Izbrana Stoinost -----------<br/>";
echo $input[$rand_keys] . "\n";
}
function addToList(){
//delete the element selected
unset($input[$rand_keys]);
//save element to NEW array
array_push($new, $removed);
//save to files
file_put_contents("input.json",json_encode($input));
file_put_contents("new.json",json_encode($new));
}
?>
<form method="post">
<input type="submit" name="get" id="get" value="get number" /><br/>
</form>
<form method="post">
<input type="submit" name="add" id="add" value="add item" /><br/>
</form>
<?php
if(isset($_POST['get'])){
generateNumber();
}
if(isset($_POST['add'])){
addToList();
}
?>