1
我創建一個函數,在將數據發送到視圖之前「清除」數據(轉義html以避免xss)。所有數據都以1個數組傳遞。該數組包含包含其他變量和數組的變量和數組,等等。如何循環htmlspecialchars數組中的數組在
這就是我現在的工作,但它看起來不正確。有沒有辦法避免通過一個新的數組中的每個數組?
public function clean_output(&$data)
{
if(!is_array($data))
{
$data = htmlspecialchars($data);
}
else
{
foreach($data as &$data_1)
{
if(!is_array($data_1))
{
$data_1 = htmlspecialchars($data_1);
}
else
{
foreach($data_1 as &$data_2)
{
if(!is_array($data_2))
{
$data_2 = htmlspecialchars($data_2);
}
else
{
foreach($data_2 as &$data_3)
{
$data_3 = htmlspecialchars($data_3);
}
}
}
}
}
}
}
感謝Antoine,我得到了一個新的功能。建議仍然歡迎露面!
public function clean_output(&$data)
{
if(!is_array($data))
{
$data = htmlspecialchars($data);
}
else
{
foreach($data as &$data_1)
{
$this->clean_output($data_1);
}
}
}