Tại sao chúng ta sử dụng toán tử dấu chấm trong php?

Dấu chấm cung cấp khả năng truy cập dễ dàng vào các mảng dữ liệu bằng ký hiệu dấu chấm một cách nhẹ nhàng và nhanh chóng. Lấy cảm hứng từ Bộ sưu tập Laravel

Dấu chấm triển khai giao diện ArrayAccess của PHP và đối tượng Dấu chấm cũng có thể được sử dụng giống như các mảng thông thường với ký hiệu dấu chấm bổ sung

ví dụ

Với Dấu chấm, bạn có thể thay đổi cú pháp mảng thông thường này

$array['info']['home']['address'] = 'Kings Square';

echo $array['info']['home']['address'];

// Kings Square

đến cái này (Đối tượng dấu chấm)

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');

hoặc thậm chí cái này (ArrayAccess)

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];

Cài đặt

Cài đặt phiên bản mới nhất bằng Composer

$ composer require adbario/php-dot-notation

Cách sử dụng

Tạo đối tượng Dấu chấm mới

$dot = new \Adbar\Dot;

// With existing array
$dot = new \Adbar\Dot($array);

// Or with auto parsing dot notation keys in existing array
$dot = new \Adbar\Dot($array, true);

// You can also set a custom delimiter instead of the default dot (.)
$dot = new \Adbar\Dot($array, false, "_");

Bạn cũng có thể sử dụng hàm trợ giúp để tạo đối tượng

$dot = dot();

// With existing array
$dot = dot($array);

// Or with auto parsing dot notation keys in existing array
$dot = dot($array, true);

// You can also set a custom delimiter instead of the default dot (.)
$dot = dot($array, true, "_");

Tất cả các phương thức không trả về một giá trị cụ thể sẽ trả về đối tượng Dot để xâu chuỗi

$dot = dot();

$dot->add('user.name', 'John')
    ->set('user.email', '[email protected]')
    ->clear(); // returns empty Dot

phương pháp

Dot có các phương pháp sau

cộng()

Đặt một cặp khóa/giá trị đã cho nếu khóa chưa tồn tại

$dot->add('user.name', 'John');

// Equivalent vanilla PHP
if (!isset($array['user']['name'])) {
    $array['user']['name'] = 'John';
}

Nhiều cặp khóa/giá trị

________số 8

tất cả các()

Trả về tất cả các mục được lưu trữ dưới dạng một mảng

$values = $dot->all();

thông thoáng()

Xóa nội dung của một khóa đã cho (đặt một mảng trống)

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
0

Nhiều phím

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
1

Tất cả các mặt hàng được lưu trữ

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
2

đếm()

Trả về số mục trong một khóa đã cho

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
3

Các mục trong thư mục gốc của đối tượng Dot

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
4

xóa bỏ()

Xóa khóa đã cho

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
5

Nhiều phím

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
6

làm phẳng()

Trả về một mảng phẳng với các phím được phân cách bằng một ký tự nhất định (mặc định là ". ")

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
7

được()

Trả về giá trị của một khóa đã cho

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
8

Trả về một giá trị mặc định đã cho, nếu khóa đã cho không tồn tại

$dot->set('info.home.address', 'Kings Square');

echo $dot->get('info.home.address');
9

có()

Kiểm tra xem một khóa đã cho có tồn tại không (trả về boolean đúng hoặc sai)

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
0

Nhiều phím

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
1

isEmpty()

Kiểm tra xem một khóa đã cho có trống không (trả về boolean true hoặc false)

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
2

Nhiều phím

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
3

Kiểm tra toàn bộ đối tượng Dot

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
4

hợp nhất()

Hợp nhất một mảng đã cho hoặc một đối tượng Dấu chấm khác

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
5

Hợp nhất một mảng đã cho hoặc một đối tượng Dấu chấm khác với khóa đã cho

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
6

hợp nhấtRecursive()

Kết hợp đệ quy một mảng đã cho hoặc một đối tượng Dot khác

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
7

Kết hợp đệ quy một mảng đã cho hoặc một đối tượng Dot khác với khóa đã cho

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
8

hợp nhấtRecursiveDistinct()

Kết hợp đệ quy một mảng đã cho hoặc một đối tượng Dot khác. Các khóa trùng lặp sẽ ghi đè lên giá trị trong mảng ban đầu (không giống như , trong đó các khóa trùng lặp được chuyển đổi thành mảng có nhiều giá trị)

$dot['info.home.address'] = 'Kings Square';

echo $dot['info.home.address'];
9

Kết hợp đệ quy một mảng đã cho hoặc một đối tượng Dot khác với khóa đã cho. Các khóa trùng lặp ghi đè lên giá trị trong mảng ban đầu

$ composer require adbario/php-dot-notation
0

sự lôi kéo()

Trả về giá trị của một khóa đã cho và xóa khóa đó

$ composer require adbario/php-dot-notation
1

Trả về một giá trị mặc định đã cho, nếu khóa đã cho không tồn tại

$ composer require adbario/php-dot-notation
2

Trả về tất cả các mục được lưu trữ dưới dạng một mảng và xóa đối tượng Dấu chấm

$ composer require adbario/php-dot-notation
3

xô()

Đẩy một giá trị đã cho vào cuối mảng trong một khóa đã cho

$ composer require adbario/php-dot-notation
4

Đẩy một giá trị đã cho đến cuối mảng

$ composer require adbario/php-dot-notation
5

thay thế()

Thay thế các giá trị bằng các giá trị có cùng khóa trong mảng hoặc đối tượng Dấu chấm đã cho

$ composer require adbario/php-dot-notation
6

Thay thế các giá trị bằng các giá trị có cùng khóa trong mảng đã cho hoặc đối tượng Dấu chấm bằng khóa đã cho

$ composer require adbario/php-dot-notation
7

$dot = new \Adbar\Dot;

// With existing array
$dot = new \Adbar\Dot($array);

// Or with auto parsing dot notation keys in existing array
$dot = new \Adbar\Dot($array, true);

// You can also set a custom delimiter instead of the default dot (.)
$dot = new \Adbar\Dot($array, false, "_");
4 không đệ quy

bố trí()

Đặt một cặp khóa/giá trị nhất định

$ composer require adbario/php-dot-notation
8

Nhiều cặp khóa/giá trị

$ composer require adbario/php-dot-notation
9

setArray()

Thay thế tất cả các mục trong đối tượng Dot bằng một mảng đã cho

$dot = new \Adbar\Dot;

// With existing array
$dot = new \Adbar\Dot($array);

// Or with auto parsing dot notation keys in existing array
$dot = new \Adbar\Dot($array, true);

// You can also set a custom delimiter instead of the default dot (.)
$dot = new \Adbar\Dot($array, false, "_");
0

setReference()

Thay thế tất cả các mục trong đối tượng Dot bằng một mảng đã cho làm tham chiếu và tất cả các thay đổi trong tương lai đối với Dot sẽ được thực hiện trực tiếp với mảng ban đầu

$dot = new \Adbar\Dot;

// With existing array
$dot = new \Adbar\Dot($array);

// Or with auto parsing dot notation keys in existing array
$dot = new \Adbar\Dot($array, true);

// You can also set a custom delimiter instead of the default dot (.)
$dot = new \Adbar\Dot($array, false, "_");
1

toJson()

Trả về giá trị của một khóa đã cho dưới dạng JSON

$dot = new \Adbar\Dot;

// With existing array
$dot = new \Adbar\Dot($array);

// Or with auto parsing dot notation keys in existing array
$dot = new \Adbar\Dot($array, true);

// You can also set a custom delimiter instead of the default dot (.)
$dot = new \Adbar\Dot($array, false, "_");
2

Trả về tất cả các mục được lưu trữ dưới dạng JSON

$dot = new \Adbar\Dot;

// With existing array
$dot = new \Adbar\Dot($array);

// Or with auto parsing dot notation keys in existing array
$dot = new \Adbar\Dot($array, true);

// You can also set a custom delimiter instead of the default dot (.)
$dot = new \Adbar\Dot($array, false, "_");
3

Đóng góp

Yêu cầu kéo

  1. Phân nhánh kho lưu trữ Dot
  2. Tạo một nhánh mới cho mỗi tính năng hoặc cải tiến
  3. Gửi yêu cầu kéo từ mỗi nhánh tính năng đến 3. chi nhánh x

Điều rất quan trọng là phải tách các tính năng hoặc cải tiến mới thành các nhánh tính năng riêng biệt và gửi yêu cầu kéo cho từng nhánh. Điều này cho phép tôi xem xét và sử dụng các tính năng hoặc cải tiến mới một cách riêng lẻ

Hướng dẫn mẫu

Tất cả các yêu cầu kéo phải tuân theo tiêu chuẩn PSR-12

Kiểm tra đơn vị

Tất cả các yêu cầu kéo phải đi kèm với việc vượt qua các bài kiểm tra đơn vị và bảo hiểm mã hoàn chỉnh. Dot sử dụng PHPUnit để thử nghiệm

Dấu chấm bằng nghĩa là gì trong PHP?

". = " toán tử là một toán tử chuỗi, đầu tiên nó chuyển đổi các giá trị thành chuỗi; và vì ". " có nghĩa là nối / nối thêm , kết quả là chuỗi " 120 ".

Tại sao PHP sử dụng mũi tên?

Các hàm mũi tên đã được giới thiệu trong PHP 7. 4 là cú pháp ngắn gọn hơn cho các hàm ẩn danh . Cả hàm ẩn danh và hàm mũi tên đều được triển khai bằng lớp Đóng. Các hàm mũi tên có dạng cơ bản fn (argument_list) => expr.

Điều gì được sử dụng để nối trong PHP?

Đầu tiên là toán tử nối ('. ') , trả về kết hợp các đối số phải và trái của nó. Thứ hai là toán tử gán nối ('. ='), nối đối số ở bên phải với đối số ở bên trái.

Các hoạt động chuỗi trong PHP là gì?

Hàm chuỗi PHP