我想存儲功能的陣列PHP存儲功能的陣列
數組發送到另一個頁面
然後執行它
我已經讀過Can you store a function in a PHP array但還是不知道該怎麼辦
這裏是我嘗試
control.php(它從這裏開始)
<?php
function getFirstFunction(){ echo "first function executed"; }
$data = array();
$data[0] = getFirstFunction();
$data[1] = function(){ echo "second function executed"; };
$data[2] = function(){ require_once "additional.php"; };
$data[3] = "my string";
header('Location: view.php?data='.$data);
?>
additional.php
<?php echo "additional included" ?>
view.php
<?php
if(isset($_GET['data'])){
foreach($_GET['data'] as $temp){
if(is_callable($temp)){
$temp;
}else{
"its not a function";
}
}
}
?>
我的錯誤=
Warning: Invalid argument supplied for foreach() in D:\Workspace\Web\latihanns\php\get\view.php on line 4
編輯 感謝您通知此代碼其危險。我不會在實際生活中使用此代碼。我只是試着學習數組中的存儲函數然後調用它。那麼我只是好奇,如果我打電話給另一頁。我只是好奇...我讓我的代碼看起來很簡單,因爲我害怕如果我寫了複雜的代碼,沒有人會在這裏,或者我的帖子會因爲本地化而關閉......
'的var_dump($ _ GET [「數據」]);'PS:你知道,即使這是可能的 - 任何人都可以通過任何** **他們要調用服務器上。 – zerkms
你不能只將一個原始數組放入URL中。 –
'$ data [0] = getFirstFunction();'這會在數據數組中存儲'getFirstFunction()'的返回值,而不是代碼。 –