Lỗi đếm PHP 8

❮ Tham chiếu mảng PHP

Thí dụ

Trả về số phần tử trong mảng

$cars=array["Volvo","BMW","Toyota"];
đếm tiếng vang[$cars];
?>

Tự mình thử »

Định nghĩa và cách sử dụng

Hàm count[] trả về số lượng phần tử trong một mảng

cú pháp

Giá trị tham số

Tham sốMảng mô tảBắt buộc. Chỉ định ArraymodeOptional. Chỉ định chế độ. Những giá trị khả thi
  • 0 - Mặc định. Không đếm hết các phần tử của mảng nhiều chiều
  • 1 - Đếm mảng đệ quy [đếm tất cả các phần tử của mảng nhiều chiều]

chi tiết kỹ thuật

Giá trị trả về. Trả về số phần tử trong mảngPhiên bản PHP. 4+Nhật ký thay đổi PHP. Tham số chế độ đã được thêm vào trong PHP 4. 2

Thêm ví dụ

Thí dụ

Đếm mảng theo cách đệ quy

$cars=array
  [
  "Volvo"=>array
  [
  "XC60",
  "XC90"
  ],
  "BMW"=>array
  [
  "X3",
  "X5"
  ],
  "Toyota"=>array
  [
  "Highlander"
  ]
  ];

echo "Số bình thường. ". đếm[$ô tô]. "
";
echo "Đếm đệ quy. ". đếm[$cars,1];
?>

Tự mình thử »

❮ Tham chiếu mảng PHP

Sự cố đã được khắc phục, khi gửi yêu cầu restapi để tạo nút.
Trong quá trình điều tra, tôi thấy rằng.
Nếu _field_invoke[] sẽ đến $op = 'form', $entity_type = "node", $entity với trường $entity->{$field_name}[$langcode] với giá trị chuỗi. Ví dụ: $entity->field_category= mảng["vi"=>"1"]. $items sẽ bằng giá trị chuỗi "1" trong mã của _field_invoke[].
______1
$result = $function[$entity_type, $entity, $field, $instance, $langcode, $items, $a, $b];
Vì vậy, $function = 'field_default_form' chúng tôi gọi hàm ield_default_form[], nơi chúng tôi thấy các chuỗi có mã.

    $field_state = array[
      'field' => $field,
      'instance' => $instance,
      'items_count' => is_array[$items] ? count[$items] : count[array[$items]],
      'array_parents' => array[],
      'errors' => array[],
    ];

Kết quả là count[$items] chúng ta sẽ nhận được TypeError trên php8. đếm[]. Đối số #1 [$value] phải thuộc loại Có thể đếm được. mảng, chuỗi đã cho trong count[]. trong 7. 4 ở bước này đếm[$items] = "1".
Tôi khuyên bạn nên thay đổi cấu trúc của phần tử $field_state với khóa "'items_count'" thành.
______3

You can not get collect sub array count when use the key on only one sub array in an array:

$a = array["a"=>"appple", b"=>array['a'=>array[1,2,3],'b'=>array[1,2,3]]];
$b = array["a"=>"appple", "b"=>array[array['a'=>array[1,2,3],'b'=>array[1,2,3]], array[1,2,3],'b'=>array[1,2,3]], array['a'=>array[1,2,3],'b'=>array[1,2,3]]]];

echo count[$a['b']];  // 2 NOT 1, expect 1
echo count[$b['b']];  // 3,   expected

Chủ Đề