Cách tốt nhất để thêm dấu gạch ngang vào số điện thoại trong PHP là gì? . Điều này chỉ áp dụng cho các số điện thoại 10 chữ số của Hoa Kỳ
Giải pháp tốt nhất
$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
CHỈNH SỬA. Để chung chung hơn một chút và bình thường hóa số điện thoại ở Hoa Kỳ được cung cấp ở bất kỳ định dạng nào [đây là thông lệ phổ biến - không có lý do gì để buộc mọi người nhập số điện thoại ở định dạng cụ thể, vì tất cả những gì bạn quan tâm
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
Giải pháp liên quan
Php – Cách kiểm tra xem mảng PHP là liên kết hay tuần tự
Bạn đã hỏi hai câu hỏi không hoàn toàn tương đương
- Thứ nhất, làm thế nào để xác định xem một mảng chỉ có các phím số
- Thứ hai, cách xác định một mảng có các phím số liên tiếp bắt đầu từ 0 hay không
Xem xét những hành vi nào bạn thực sự cần. [Có thể là một trong hai sẽ làm cho mục đích của bạn. ]
Câu hỏi đầu tiên [chỉ cần kiểm tra xem tất cả các phím có phải là số không] đã được Đội trưởng kurO trả lời tốt
Đối với câu hỏi thứ hai [kiểm tra xem mảng có được lập chỉ mục bằng 0 và theo thứ tự hay không], bạn có thể sử dụng hàm sau
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
Php – Xóa phần tử khỏi mảng trong PHP
Có nhiều cách khác nhau để xóa một phần tử mảng, trong đó một số cách hữu ích cho một số tác vụ cụ thể hơn những cách khác
Xóa một phần tử mảng
Nếu bạn chỉ muốn xóa một phần tử mảng, bạn có thể sử dụng
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2 hoặc cách khác là function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3Nếu bạn biết giá trị và không biết key để xóa phần tử có thể dùng
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
4 để lấy key. Điều này chỉ hoạt động nếu phần tử không xảy ra nhiều lần, vì function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
5 chỉ trả về lần truy cập đầu tiênfunction localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
Lưu ý rằng khi bạn sử dụng
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, các khóa của mảng sẽ không thay đổi. Nếu bạn muốn lập chỉ mục lại các khóa, bạn có thể sử dụng function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
8 sau function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, điều này sẽ chuyển đổi tất cả các khóa thành các khóa được liệt kê bằng số bắt đầu từ 0Mã số
$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
2đầu ra
$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
3phương pháp function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
Nếu bạn sử dụng
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3, các khóa sẽ tự động được lập chỉ mục lại, nhưng các khóa kết hợp sẽ không thay đổi — trái ngược với function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
8, sẽ chuyển đổi tất cả các khóa thành khóa sốfunction localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3 cần phần bù, không phải khóa, làm tham số thứ haiMã số
$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
8đầu ra
$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
9function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
4, giống như function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, lấy mảng theo tham chiếu. Bạn không gán giá trị trả về của các hàm đó cho mảngXóa nhiều phần tử mảng
Nếu bạn muốn xóa nhiều phần tử mảng và không muốn gọi hàm
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2 hoặc function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3 nhiều lần thì có thể sử dụng hàm function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
8 hoặc function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
9 tùy thuộc vào việc bạn có biết giá trị hoặc khóa của phần tử muốn xóa hay không.phương pháp function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
8
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
Nếu bạn biết giá trị của các phần tử mảng mà bạn muốn xóa, thì bạn có thể sử dụng
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
8. Như trước đây với function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, nó sẽ không thay đổi các khóa của mảngMã số
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
9đầu ra
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
0phương pháp function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
9
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
Nếu bạn biết khóa của các phần tử mà bạn muốn xóa, thì bạn muốn sử dụng
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
9. Bạn phải đảm bảo rằng bạn chuyển các khóa dưới dạng khóa trong tham số thứ hai chứ không phải dưới dạng giá trị. Khóa sẽ không lập chỉ mục lạiMã số
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
3đầu ra
function isAssoc[array $arr]
{
if [array[] === $arr] return false;
return array_keys[$arr] !== range[0, count[$arr] - 1];
}
var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
0Nếu bạn muốn sử dụng
function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2 hoặc function localize_us_number[$phone] {
$numbers_only = preg_replace["/[^\d]/", "", $phone];
return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}
echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng $number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
27 để lấy tất cả các khóa cho một giá trị cụ thể rồi xóa tất cả phần tử