/**
* 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;
}