PHP array_walk()
中是否有内置函数可以返回数组,而不是true或false?
有关信息,我正在尝试下面的代码,但是由于代码在字符串的末尾出现OR
,因此我需要将其删除,因此我需要一个替代方法
$request_data = "Bablu"; //userdata
$presentable_cols = array('id'=>'13141203051','name'=>'Bablu Ahmed','program'=>'B.Sc. in CSE', 'country'=>'Bangladesh');
function myfunction($value,$key,$request_data)
{
echo " $key LIKE '% $request_data %' OR";
}
array_walk($presentable_cols,"myfunction", $request_data);
代码结果:
id LIKE '% Bablu %' OR name LIKE '% Bablu %' OR program LIKE '% Bablu %' OR country LIKE '% Bablu %' OR
答案 0 :(得分:2)
use关键字允许您将局部变量引入局部 匿名函数的范围。这在您使用 将匿名函数传递给您没有的其他函数 控制。
无法使用array_map,因为这不适用于键(PHP's array_map including keys)。这是一个可能的解决方案:
$request_data = "Bablu"; //userdata
$presentable_cols = array('id'=>'13141203051','name'=>'Bablu Ahmed','program'=>'B.Sc. in CSE', 'country'=>'Bangladesh');
$my_arr = [];
$myfunction = function($value,$key) use ($request_data,&$my_arr)
{
array_push($my_arr," $key LIKE '% $request_data %'");
};
array_walk($presentable_cols,$myfunction);
echo implode("OR",$my_arr);
答案 1 :(得分:2)
不要使事情复杂化。只需使用function delete(){
$connection = connectToDatabase();
$ID = $_REQUEST['ID'];
if($ID!==""){
$result1 = mysqli_query($connection,"select Img1 from banners where ID='$ID' ");
$row = mysqli_fetch_array($result1);
$namefile1 = $row[0];
$namefile11=str_replace("http://bestabsd.com/bestfile/pics/", "", $namefile1);
$base_directory = '/home/bestabsd/public_html/bestfile/pics/';
unlink($base_directory.$namefile11);
mysqli_close($connection);
}else {
print "null";
}
来修改您的数组或创建一个新数组:
foreach
顺便确保对foreach ($presentable_cols as $key => $value) {
$presentable_cols[$key] = "$key LIKE '% $request_data %'";
}
进行消毒。