我有一个函数,它返回数组。但是我形成这个数组的方式是"爆炸"字符串。当我这样做时,我得到一个额外的空字符串。
所以现在我的问题是我不想返回空数组实体。
我的功能代码如下所示:
public function purge_file($keys)
{
if(empty($keys))
throw new C7_Exception('Missing/Bad arguments');
$lib_tools_storage = new C7_Lib_Tools_Storage();
$file_ids = explode(";",$keys);
foreach($file_ids as $key)
{
//echo "this is file_id = $key ";
if(!empty($key))
$lib_tools_storage->purge_file($key);
}
return array('result_code' => 0,
'data' => array('keys' => $file_ids)
);
}
答案 0 :(得分:2)
你可以在传递爆炸之前修剪外部分号:
$keys = '1;2;3;4;';
$file_ids = explode(";", trim($keys, ';'));
print_r($file_ids);
/* output
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
*/
答案 1 :(得分:1)
public function purge_file($keys)
{
if(empty($keys))
throw new C7_Exception('Missing/Bad arguments');
$lib_tools_storage = new C7_Lib_Tools_Storage();
$file_ids = explode(";",$keys);
foreach($file_ids as $key)
{
//echo "this is file_id = $key ";
if(!empty($key))
$lib_tools_storage->purge_file($key);
}
foreach($file_ids as $key)
{
if (!empty($key))
{
$keys_new[] = $key;
}
}
return array('result_code' => 0,
'data' => array('keys' => $keys_new)
);
}
答案 2 :(得分:0)
使用此功能array_filter(explode(",", $params['emails']));
。