-1
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đã thử hợp nhất hai mảng nếu khóa không tồn tại trong mảng nhưng tôi không thể hoàn thành điều này. Làm thế nào tôi có thể làm được? Đây là những gì tôi đã thử:
array [size=3] // name of the array $exchange
'purchase' => string '1' [length=1]
'agriculture' => string '1' [length=1]
array [size=6] // name of the array $fixed
'purchase' => string '0' [length=1]
'ICT' => string '0' [length=1]
'agriculture' => string '0' [length=1]
'entertainment' => string '0' [length=1]
'goods and service' => string '0' [length=1]
'other' => string '0' [length=1]
foreach[$fixed as $keys=>$values]{
if[!in_array[$values, $exchange, true]]{
array_push[$exchange, $keys];
}
}
Tôi nhận được kết quả này:
array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
Nhưng tôi muốn:
array [size=7]
'ICT' => string '1' [length=1]
'purchase' => string '0' [length=8]
'agriculture' => string '0' [length=11]
'entertainment' => string '0' [length=13]
'goods and service' => string '0' [length=17]
'other' => string '0' [length=5]
Shwet
1.7871 Huy hiệu vàng23 Huy hiệu bạc34 Huy hiệu đồng1 gold badge23 silver badges34 bronze badges
hỏi ngày 19 tháng 1 năm 2015 lúc 10:33Jan 19, 2015 at 10:33
Homnath Bagalehomnath BagaleHomnath Bagale
4541 Huy hiệu vàng6 Huy hiệu bạc31 Huy hiệu đồng1 gold badge6 silver badges31 bronze badges
1
Thử cái này:
foreach [$fixed as $keys => $values] {
if [! array_key_exists[$keys, $exchange]] {
$exchange[$keys] = $values;
}
}
Nó kiểm tra xem khóa $keys
chưa tồn tại trong
array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
0 và thêm nó cùng với giá trị của nó [ array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
1].Hoặc bạn có thể chỉ cần thay thế toàn bộ khối
array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
2 bằng:$exchange = $exchange + $fixed;
Việc bổ sung
array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
3 thêm vào array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
0 các khóa [và giá trị của chúng] có trong array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
5 nhưng không có trong ____10. Mảng kết hợp sau đó được lưu trữ trong array [size=7]
'ICT' => string '1' [length=1]
0 => string 'purchase' [length=8]
1 => string 'ICT' [length=3]
2 => string 'agriculture' [length=11]
3 => string 'entertainment' [length=13]
4 => string 'goods and service' [length=17]
5 => string 'other' [length=5]
0.Đọc cũng câu trả lời này. Nó giải thích nơi mã của bạn sai.
Đã trả lời ngày 19 tháng 1 năm 2015 lúc 10:44Jan 19, 2015 at 10:44
Có một vài vấn đề với điều này:
8 sẽ tìm kiếm các giá trị của mảng đã cho, không phải các khóa, vì vậy trong trường hợp này, bạn chỉ cần kiểm tra xem giá trị "0" có tồn tại trong mảngarray [size=7] 'ICT' => string '1' [length=1] 0 => string 'purchase' [length=8] 1 => string 'ICT' [length=3] 2 => string 'agriculture' [length=11] 3 => string 'entertainment' [length=13] 4 => string 'goods and service' [length=17] 5 => string 'other' [length=5]
9 không. Tôi giả sử thay vào đó bạn muốn kiểm tra xem khóa đã tồn tại.array [size=7] 'ICT' => string '1' [length=1] 0 => string 'purchase' [length=8] 1 => string 'ICT' [length=3] 2 => string 'agriculture' [length=11] 3 => string 'entertainment' [length=13] 4 => string 'goods and service' [length=17] 5 => string 'other' [length=5]
0 đẩy một giá trị mới vào khóa có sẵn tiếp theo.array [size=7] 'ICT' => string '1' [length=1] 'purchase' => string '0' [length=8] 'agriculture' => string '0' [length=11] 'entertainment' => string '0' [length=13] 'goods and service' => string '0' [length=17] 'other' => string '0' [length=5]
Những gì bạn cần là kiểm tra xem một khóa có tồn tại không và nếu không, hãy thêm nó với giá trị hiện có. Thay vào đó hãy thử điều này:
for[$fixed as $key=>$value]
{
if[!isset[$exchange[$key]]] // Check if the key exists
{
$exchange[$key] = $value; // Add the new key -> value pair.
}
}
Đã trả lời ngày 19 tháng 1 năm 2015 lúc 10:39Jan 19, 2015 at 10:39
slugonamissionslugonamissionslugonamission
9.4971 Huy hiệu vàng31 Huy hiệu bạc40 Huy hiệu đồng1 gold badge31 silver badges40 bronze badges
1
Bạn có thể làm điều đó theo nhiều cách tùy thuộc vào kết quả bạn mong muốn:
foreach[$fixed as $key=>$values]{
if[!isset[$exchange[$key]]]{
$exchange[$key]=values;
}
}
hoặc
$exchange += $fixed;
hoặc
$exchange = array_merge[$fixed,$exchange];
Đã trả lời ngày 19 tháng 1 năm 2015 lúc 10:40Jan 19, 2015 at 10:40
SerpesserpesSerpes
6724 Huy hiệu bạc14 Huy hiệu Đồng4 silver badges14 bronze badges
2