php二維陣列排序 字串擷取函式

2021-06-06 21:28:57 字數 2256 閱讀 7907

整理了兩個函式,記錄下來

* 對二維陣列排序進行乙個封裝

* @param unknown_type $dataarray        要排序的陣列

* @param unknown_type $sortinfoarray    排序資訊陣列,可以多個組合,格式如下:

* array(

array(

'sortkey'=>'name', 'sortorder'=>'sort_asc', 'sorttype'=>'sort_string'

), array(

'sortkey'=>'size', 'sortorder'=>'sort_desc', 'sorttype'=>'sort_string'));

* sortkey:$dataarray要用於排序的列名,

* sortorder:sort_asc - 按照上公升順序排序/sort_desc - 按照下降順序排序

* sorttype:sort_regular - 將專案按照通常方法比較/sort_numeric - 將專案按照數值比較/sort_string - 將專案按照字串比較

* @throws exception

* @return unknown

*/function array_multisort_crm ($dataarray, $sortinfoarray)

foreach ($sortinfoarray as $sortarr)

$sortrule[$sortarr['sortkey']] = '$'.$sortarr['sortkey'];

if (array_key_exists('sortorder', $sortarr))

if (array_key_exists('sorttype', $sortarr))

}foreach ($dataarray as $key => $varr) [$key] = $varr[$sortarr['sortkey']];}}

$evalstring = 'array_multisort('.implode(',', $sortrule).',$dataarray);';

eval($evalstring);

return $dataarray;

}/**

* 字串擷取,支援中文和其他編碼

** @param string $str 需要轉換的字串

* @param string $start 開始位置

* @param string $length 擷取長度

* @param string $charset 編碼格式

* @param string $suffix 截斷字串字尾

* @return string

*//**

* 字串擷取,支援中文和其他編碼,如果擷取後的字串是原來字串尾部,則不加再加上$suffix

* @param unknown_type $str        需要轉換的字串

* @param unknown_type $start      開始位置

* @param unknown_type $length     擷取長度

* @param unknown_type $suffix     截斷字串字尾

* @param unknown_type $charset    編碼格式

* @return string

*/function substr_ext($str, $start, $length, $suffix="", $charset="utf-8")

elseif(function_exists('iconv_substr'))

else

|[\xf0-\xff][\x80-\xbf]/";

$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";

$re['gbk']    = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";

$re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";

preg_match_all($re[$charset], $str, $match);

$slice = join("",array_slice($match[0], $start, $length));

}if (!preg_match("/()$/", $str))

return $slice;

}

二維陣列 字元陣列與字串

要求 了解多維陣列的概念 掌握二維陣列的使用 掌握用字元陣列存放字串的方法 掌握字串的輸入及輸出方法 二維陣列的定義 例 int a 2 3 定義乙個二維陣列 該陣列有2行3列共6個元素 這6個元素都存放int型資料 儲存時先儲存第一行的3個元素,然後再儲存第二行的3個元素 可將此二維陣列看成是乙個...

二維陣列 字串 API

1 二維陣列 陣列中的元素,又指向乙個新的子陣列 何時使用 1.儲存橫行豎列的資料時 2.分組儲存上下級包含關係時 如何建立 1.先建立空陣列,再初始化元素為子陣列 var data data 0 0,0,0,0 data 1 0,0,0,0 何時使用 不確定子陣列的個數或內容時 2.建立時就初始化...

二維陣列,字串,多維陣列

二維陣列 有2個下標的陣列成為二維陣列 定義 型別 陣列名 常量表示式1 常量表示式2 注意事項,二維陣列定義時,可以不指定第一維的長度,但必須給定第二維.例 int 3 字元陣列 用於存放字元變數的陣列成為字元陣列.字元陣列屬於一維陣列,元素型別char 例 char c 20 字元陣列串 存放字...