Tôi đang cố gắng sử dụng hàm theo đó tôi thấy chiều cao (trục y) mảng hai chiều là trong PHP. Làm thế nào bạn sẽ đề nghị tôi làm điều này? Xin lỗi, tôi mới sử dụng PHP.PHP Array.length cho mảng hai chiều (trục y)
Trả lời
max(array_map('count', $array2d))
Vâng giải pháp thực sự tốt đẹp. – dianovich
+1 Giải pháp này nhắc tôi về MATLAB :) – Czechnology
cảm ơn rất nhiều @phihag – wingskush
Tóm lại chiều kích thứ hai, sử dụng count
trong một vòng lặp:
$counter = 0;
foreach($var AS $value) {
$counter += count($value);
}
echo $counter;
1.dimension:
count($arr);
2.dimension:
function count2($arr) {
$dim = 0;
foreach ($arr as $v) {
if (count($v) > $dim)
$dim = count($v);
}
return $dim;
}
Như có thể có mỗi mảng/vectơ khác nhau ngth (không giống như một ma trận toán học), bạn phải tìm kiếm tối đa. chiều dài.
$max = 0;
foreach($array as $val){
$max = (count($val)>$max?count($val):$max)
}
nơi $ max là số bạn đang tìm kiếm
Nếu trục y là mảng bên ngoài, sau đó thực sự chỉ là count($array)
. Kích thước thứ hai chỉ là count($array[0])
nếu nó đồng nhất.
Một mảng đa chiều chỉ đơn giản là một mảng của mảng - nó không giống như bạn đã bị chặn ra một bộ hình chữ nhật địa chỉ; giống như một chiếc xe lửa nơi mỗi chiếc xe có thể được xếp chồng lên nhau cao như bạn muốn.
Như vậy, "height" của mảng, có lẽ, là số của thành viên mảng hiện lớn nhất. @phihag đã đưa ra một cách tuyệt vời để có được điều đó (max(array_map(count, $array2d))
) nhưng tôi chỉ muốn chắc chắn rằng bạn hiểu ý nghĩa của nó. Chiều cao tối đa của các mảng khác nhau trong mảng mẹ không ảnh hưởng đến kích thước hoặc dung lượng của bất kỳ thành viên mảng nào đã cho.
Khi chúng ta bắt đầu nói về kích thước của mảng 2D, tôi đề nghị gắn bó với tương đương toán học của một ma trận, trong đó chiều cao-nhiều hàng - thường được coi là kích thước và chiều rộng đầu tiên - số cột - cột thứ hai. – Czechnology
Trong đơn đăng ký của tôi, tôi đã sử dụng phương pháp này.
$array = array();
$array[0][0] = "one";
$array[0][1] = "two";
$array[1][0] = "three";
$array[1][1] = "four";
for ($i=0; isset($array[$i][1]); $i++) {
echo $array[$i][1];
}
đầu ra: twofour
Có lẽ, đây không phải là phương pháp tốt nhất cho các ứng dụng của bạn, nhưng đối với tôi nó làm việc một cách hoàn hảo.
- 1. Chiều rộng nhãn trục y cố định trong Highcharts
- 2. HighCharts - hai trục Y, một với giá trị lớn nhất
- 3. rCharts - Thêm trục y thứ hai vào chuỗi thời gian
- 4. CSS: Thanh cuộn cho trục y khiến thanh cuộn cho trục x
- 5. Powershell: Hai mảng chiều
- 6. ggplot2, Đặt hàng trục y
- 7. Highcharts TypeScript, nhãn trục y
- 8. Hai trục y trong biểu đồ cốt lõi có các trục khác nhau
- 9. Cách nhân rộng giá trị của trục Y trên cả hai mặt của trục trong Highcharts
- 10. Sao chép hai mảng hai chiều khác mảng hai chiều Java
- 11. Serialize/Deserialize mảng hai chiều
- 12. push() một mảng hai chiều
- 13. Mảng hai chiều trong python
- 14. Java - in mảng hai chiều
- 15. JQuery-Flot: Cách thêm nhãn văn bản cho trục Y và nhãn ngày cho trục X?
- 16. Rails, bảng hai chiều, trục xoay, vòng băm lồng nhau
- 17. R cốt truyện, x-trục và trục y chạm
- 18. Phạm vi thiết lập cho X, Y Trục-JfreeChart
- 19. cách gán mảng hai chiều cho ** con trỏ?
- 20. Nếu (Array.Length == 0)
- 21. Cách đảo trục y trên ô
- 22. array_map cho mảng đa chiều
- 23. iPhone CorePlot định dạng đúng trục y
- 24. Charts Google trục y đánh giá cao
- 25. đặt giới hạn trục y trong matplotlib
- 26. Làm thế nào để chuyển đổi hai mảng chiều để một mảng chiều trong php5
- 27. Hai mảng chiều và con trỏ
- 28. PHP với Spl DataStructures thay thế cho mảng đa chiều
- 29. Chỉ đọc mảng hai chiều trong C#
- 30. Mảng hai chiều các loại khác nhau
@phihag đưa ra một giải pháp rất thanh lịch ... không có mảng 2 chiều thực sự trong PHP, 'mảng của mảng' có thể là bất kỳ độ dài nào, vì vậy bạn sẽ phải nhận được mảng mảng lớn nhất. – dianovich