我有一些问题,但是我从来没有得到过关于它的好消息。
我有一些回复良好的功能,但问题是打印x2我的查询。
我尽量减少我的脚本以快速获得帮助。
关于array_merge。
首先
function Verify($params) {
$query = mysql_query("SELECT SOMETHING");
if ($query->num_rows > 0) {
$row = $query->fetch_assoc();
// Here will pass 2 array on each function to proceed
$data = self::CacheData($row['gid'], $params['sid']);
$data['data'] = self::Host($row['gid'], $params['sid']);
return $tmpdata;
}
return false;
}
static function CacheData($gid, $sid){
$cachedata = array();
$querycache = mysql_query("SELECT WHAT I NEED");
if ($querycache->num_rows == 1) {
$rowcache = $querycache->fetch_assoc();
// Send to Files the array and check if is true
if (self::Files(array('gid' => $gid, 'sid' => $sid, 'expirecache' => 0)) == true) {
return array('gid' => $gid, 'size' => 0, 'enabled' => $rowcache['enabled'], 'exists' => false);
}
}
}
function Host($gid, $sid) {
$query = mysq_query("SELECT WHAT I NEED");
if ($query->num_rows == 0) {
return false;
}
$rowgame = $query->fetch_assoc();
// Send to Files the array and to see if is / false
if (self::Files(array('gid' => $gid, 'sid' => $sid)) == false) {
return false;
}
}
好的,这是我遇到的问题
当文件恢复2阵列时,它正在工作,但是我将所有数组通过其他函数发送到array_merge所有。
所以问题的最后一个功能是这样的
function Files(array $params) {
$default = array('skipcache' => false, 'expirecache' => 86400, 'os' => null);
$params = array_merge($default, $params);
//return $params;
print_r($params);
}
现在输出就像
array(5) {
["skipcache"]=>
bool(false)
["expirecache"]=>
string(1) "0"
["os"]=>
NULL
["gid"]=>
string(1) "1"
["sid"]=>
string(1) "1"
}
array(5) {
["skipcache"]=>
bool(false)
["expirecache"]=>
int(86400)
["os"]=>
NULL
["gid"]=>
string(1) "2"
["sid"]=>
string(1) "1"
}
基于此输出我添加数据库,但问题是在数据库上添加2,我需要1个数组而不是2。
所以我看到array_merge删除了dublicates但是在这里我看到它的相同但是没有删除因为$ params recive 2 array!
你可以给我一些解决方案,但不能使用Foreach!
非常感谢你!
此致
答案 0 :(得分:0)
您可以尝试:
$uniqueArr = array_merge(array_flip(array_flip($mergedArray)));
或
$uniqueArr = array_keys(array_flip($mergedArray));
或者如果你想使用array_unique方法:
$uniqueArr = array_unique(array_merge($array1,$array2), SORT_REGULAR);
来自此链接http://php.net/manual/en/function.array-unique.php,它比array_unique方法快得多。你可以使用array_flip,因此你可以将键作为值,反之亦然。