/**
* description:將數組處理爲: "a","b","c","d",...
* author:wh
* action:
* @param $data 二維數組
* @param $field 要處理的字段名
* @return string
*/
function dealArrArrToStr($data, $field) {
if (empty($data)) return $data;
$arr = array_unique(array_column($data, $field));
$str = '';
foreach ($arr as $k => $v) {
$str .= ',"' . $v . '"';
}
return substr($str, 1);
}
/**
* description:將數組處理爲: "a","b","c","d",...
* author:wh
* action:
* @param $arr 一維數組
* @return string
*/
public function dealArrToStr($arr) {
if (empty($arr)) return $arr;
$str = '';
foreach ($arr as $v) {
$str .= ',"' . $v . '"';
}
return ltrim(substr($str, 1));
}
/**
* description:返回由二維數組的其中兩個字段(鍵)組成的一維數組
* author:wanghua
*/
function keyValByArrArr($data, $key, $key2) {
$arr = array_column($data, $key);
$arr2 = array_column($data, $key2);
$tmp = [];
foreach ($arr as $k => $v) {
$tmp[$v] = $arr2[$k];
}
return $tmp;
}
/**
* description:替換二維數組的某值
* eg:將門店的id替換爲門店名稱(拒絕循環查詢)
* author:wh
* action:
* @param $data 要替換的數據(二維數組)
* @param $dataKey 要替換的數據的某個字段名(鍵名)
* @param $arrArr 替換參數(二維數組)
* @param $key eg:id
* @param $key2 eg:name
* @return mixed
*/
function replaceArrArrValue($data, $dataKey, $arrArr, $key, $key2) {
if (empty($arrArr) || !is_array($arrArr)) return $data;
$arr = self::keyValByArrArr($arrArr, $key, $key2);
foreach ($data as $k => $v) {
foreach ($arr as $a => $b) {
if ((isset($v[$dataKey]) && $v[$dataKey] == $a)) {
$data[$k][$dataKey] = $b;
}
}
}
return $data;
}