⑴ php怎麼把兩個字元串合並成鍵值數組
$array_ab=array_combine($arry_a,$array_b); 這是數組的PHP內置函數 ,函數括弧中的前一個數組的值為新數組的索引,後一個參數的值為新數組的值
⑵ php 獲取數組鍵名和鍵值
array_keys、array_values兩個函數專門執行這一的功能~~~
例如:
<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>
會輸出:
Array
(
[0] => XL
[1] => gold
)
再例如:
<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>
以上常式會輸出:
Array
(
[0] => 0
[1] => color
)
Array
(
[0] => 0
[1] => 3
[2] => 4
)
Array
(
[0] => color
[1] => size
)
⑶ php 數組的鍵值為字元串,怎麼寫$a=array("'hello'","'123'","'byebye'");是這樣嗎雙引號下面加單引號
$a = array("key1"=>"value1","key2"=>"value2","key3"=>"value3");
key為鍵值,value為對應的值
⑷ 怎麼吧php數組的鍵值對里的值變成字元串
如果是一維數組的話,php有內置函數的 array_values ,
可以把數組裡面的值提取出來組成一個新的一維索引數組
同理,還有一個array_keys 同時在配上 join函數 也就是 implode 可以快速組合字元串
看個示例代碼
$arr=array(
'name'=>'張三',
迅螞'age'行肆=>20,
'sex'=>'男',
);
當使用array_values($arr) 的時候,就得到了這樣一個數組
$values=array_values($arr);
//array('張三',20,'男');
接著再使用 join函數來組成字元串
$valueStr=join(',',$values);//使用,進行分割
//"'張三',20,'男'"這樣的一檔昌轎個字元串
//可以連寫成
$str=join(',',array_values($arr));
//這樣即可
⑸ php創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
array_combine
(PHP 5, PHP 7)
array_combine — 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
說明
array_combine ( array $keys , array $values ) : array
返回一個 array,用來自 keys 數組的值作為鍵名,來自 values 數組的值作為相應的值。
參數
keys
將被作為新數組的鍵。非法的值將會被轉換為字元串類型(string)。
values
將被作為 Array 的值。
返回值
返回合並的 array,如果兩個數組的單元數不同則返回 false。
錯誤/異常
如果作為keys的數組和作為values的數組的元素個數不一樣,將會拋出一個警告錯誤(E_WARNING)。
更新日誌
版本 說明
5.4.0 (修復)早期版本中如果是空數組就報E_WARNING的錯並且返回false。
範例
示例 #1 一個 array_combine() 簡單的例子
⑹ php在數組中查詢字元串相似度並返回鍵名或者鍵值
根據傳入的字元串和數組,返回數組中相似度最高的字元串
PHP代碼如下:
1.function closest_word($input, $words) {
2. $shortest = -1;
3. foreach ($words as $word) {
4. $lev = levenshtein($input, $word);
5. if ($lev == 0) {
6. $closest = $word;
7. $shortest = 0;
8. break;
9. }
10. if ($lev <= $shortest || $shortest < 0) {
11. $closest = $word;
12. $shortest = $lev;
13. }
14. }
15. return $closest;
16.}
2. 代碼示例如下:
// 根據傳入的州名(可能客戶有輸錯),返回相似度最高的州名稱
$united_state_list = array(
'AL'=>"Alabama",
'AK'=>"Alaska",
'AZ'=>"Arizona",
'AR'=>"Arkansas",
'CA'=>"California",
'CO'=>"Colorado",
'CT'=>"Connecticut",
'DE'=>"Delaware",
'DC'=>"District Of Columbia",
'FL'=>"Florida",
'GA'=>"Georgia",
'HI'=>"Hawaii",
'ID'=>"Idaho",
'IL'=>"Illinois",
'IN'=>"Indiana",
'IA'=>"Iowa",
'KS'=>"Kansas",
'KY'=>"Kentucky",
'LA'=>"Louisiana",
'ME'=>"Maine",
'MD'=>"Maryland",
'MA'=>"Massachusetts",
'MI'=>"Michigan",
'MN'=>"Minnesota",
'MS'=>"Mississippi",
'MO'=>"Missouri",
'MT'=>"Montana",
'NE'=>"Nebraska",
'NV'=>"Nevada",
'NH'=>"New Hampshire",
'NJ'=>"New Jersey",
'NM'=>"New Mexico",
'NY'=>"New York",
'NC'=>"North Carolina",
'ND'=>"North Dakota",
'OH'=>"Ohio",
'OK'=>"Oklahoma",
'OR'=>"Oregon",
'PA'=>"Pennsylvania",
'RI'=>"Rhode Island",
'SC'=>"South Carolina",
'SD'=>"South Dakota",
'TN'=>"Tennessee",
'TX'=>"Texas",
'UT'=>"Utah",
'VT'=>"Vermont",
'VA'=>"Virginia",
'WA'=>"Washington",
'WV'=>"West Virginia",
'WI'=>"Wisconsin",
'WY'=>"Wyoming"
);
$input_state = 'Wiscsin';
$state = closest_word($input_state ,array_values($united_state_list));
echo $state;
⑺ php將數組的鍵值快速輸出成字元串呢
array_keys
—
返回數組中所有的鍵名array
array_keys
(
array
$input
[,
mixed
$search_value
[,
bool
$strict
]]
)array_keys()
返回
input
數組中的數字或者字元串的鍵握冊名。
如果指定了可選參數消皮鎮
search_value,則只返回該值的鍵名。否則
input
數組中的所拿粗有鍵名都會被返回。自
PHP
5
起,可以用
strict
參數來進行全等比較(===)。
⑻ php數組、鍵名、索引、鍵值有什麼區別
數組的根據類型來分,分為關聯數組和數字索引數組。
⑼ php合並數組並保留鍵值的實現方法
php合並數組,一般會使用array_merge方法。
array_merge
—
合並一個或多個數組
array
array_merge
(
array
$array1
[,
array
$...
]
)
array_merge
將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的後面,返回作為結果的數組。
如果輸入的數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的將不會覆蓋原來的值,而是附加到後面。
如果只給了一個數組並且該數組是數字索引的,則鍵名會以連續方式重新索引。
例子1,數組使用字元串鍵名,相同的鍵名會被後面的覆蓋
<?php
$arr1
=
array('name'=>'fdipzone');
$arr2
=
array('name'=>'terry');
$result
=
array_merge($arr1,
$arr2);
print_r($result);
?>
輸出:
Array
(
[name]
=>
terry
)
例子2,數組使用數字鍵名,鍵名相同不會覆蓋,且鍵名會重新索引
<?php
$arr1
=
array(0=>'fdipzone',1=>'terry');
$arr2
=
array(0=>'php',1=>'python');
$result
=
array_merge($arr1,
$arr2);
print_r($result);
?>
輸出:
Array
(
[0]
=>
fdipzone
[1]
=>
terry
[2]
=>
php
[3]
=>
python
)
因工作需要,需要將調查問卷的兩部分選擇題的答案合並一起,每部分答案為數組(key=>value),key為題號,value為答案,且兩部分的題號不存在重復。
使用array_merge合並兩部分答案
<?php
$form_data1
=
array(11=>'A',12=>'B',13=>'C',14=>'D');
$form_data2
=
array(25=>'B',26=>'A',27=>'D',28=>'C');
$result
=
array_merge($form_data1,
$form_data2);
print_r($result);
?>
輸出:
Array
(
[0]
=>
A
[1]
=>
B
[2]
=>
C
[3]
=>
D
[4]
=>
B
[5]
=>
A
[6]
=>
D
[7]
=>
C
)
使用array_merge合並,因為題號(key)是數字,所以鍵名會重新索引,導致題號不能保留。
合並數組並保留鍵值的方法:
<?php
$form_data1
=
array(11=>'A',12=>'B',13=>'C',14=>'D');
$form_data2
=
array(25=>'B',26=>'A',27=>'D',28=>'C');
$result
=
$form_data1
+
$form_data2;
print_r($result);
?>
輸出:
Array
(
[11]
=>
A
[12]
=>
B
[13]
=>
C
[14]
=>
D
[25]
=>
B
[26]
=>
A
[27]
=>
D
[28]
=>
C
)
使用
「+」
運算符合並數組,可以保留數組的鍵值,如果合並的數組中含有相同的鍵值,後面的不會覆蓋前面的鍵值(前面的優先)。
以上這篇php合並數組並保留鍵值的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:php數組實現根據某個鍵值將相同鍵值合並生成新二維數組的方法PHP合並數組的2種方法小結PHP中數組合並的兩種方法及區別介紹
⑽ php將數組的鍵值快速輸出成字元串呢
array_keys
—
返回數組中所有的鍵名array
array_keys
(
array
$input
[,
mixed
$search_value
[,
bool
$strict
]]
)array_keys()
返回
input
數組中的數字或者字元串的鍵名。
如果指定了可選參數
search_value,則只返回該值的鍵名。否則
input
數組中的所有鍵名都會被返回。自
PHP
5
起,可以用
strict
參數來進行全等比較(===)。