Hướng dẫn convert array values to integer php - chuyển đổi giá trị mảng thành php số nguyên

Vì vậy, tôi đã tò mò về hiệu suất của một số phương pháp được đề cập trong câu trả lời cho số lượng lớn số nguyên.

Sự chuẩn bị

Chỉ cần tạo một mảng gồm 1 triệu số nguyên ngẫu nhiên trong khoảng từ 0 đến 100. Hơn, tôi đã nổ tung chúng để có được chuỗi.

  $integers = array[];
  
  for [$i = 0; $i < 1000000; $i++] {
      $integers[] = rand[0, 100];
  }

  $long_string = implode[',', $integers];

Phương pháp 1

Đây là một lớp lót từ câu trả lời của Mark:

$integerIDs = array_map['intval', explode[',', $long_string]];

Phương pháp 2

Đây là cách tiếp cận JSON:

  $integerIDs = json_decode['[' . $long_string . ']', true];

Phương pháp 3

Tôi đã đưa ra điều này như là sửa đổi câu trả lời của Mark. Điều này vẫn đang sử dụng chức năng explode[], nhưng thay vì gọi array_map[], tôi đang sử dụng vòng lặp foreach thông thường để thực hiện công việc để tránh chi phí array_map[] có thể có. Tôi cũng đang phân tích cú pháp với [int] vs

$integerIDs = array_map['intval', explode[',', $long_string]];
0, nhưng tôi đã thử cả hai, và không có nhiều sự khác biệt về hiệu suất.

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }

Kết quả

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293

Điểm mấu chốt là trung bình. Có vẻ như phương pháp đầu tiên chậm hơn một chút đối với 1 triệu số nguyên, nhưng tôi không nhận thấy mức tăng hiệu suất 3 lần của phương pháp 2 như đã nêu trong câu trả lời. Hóa ra vòng lặp foreach là cái nhanh nhất trong trường hợp của tôi. Tôi đã thực hiện điểm chuẩn với XDebug.

EDIT: Đã được một thời gian kể từ khi câu trả lời ban đầu được đăng. Để làm rõ, điểm chuẩn đã được thực hiện trong Php 5.6.40.

Mkamerma tại Science Dot Uva Dot NL ¶

Yves ¶Get the integer value of a variable

Taylorsarrafian tại Gmail Dot Com ¶

7 năm trước[mixed

$integerIDs = array_map['intval', explode[',', $long_string]];
2, int
$integerIDs = array_map['intval', explode[',', $long_string]];
3 = 10
]: int

Simon tại NPKK Dot cz ¶

Làm thế nào để chuyển đổi mảng chuỗi thành số nguyên trong PHP?

Hàm number_format [] được sử dụng để chuyển đổi chuỗi thành một số.

Làm thế nào để bạn chuyển đổi một loạt các chuỗi thành số nguyên?

Nhập Java. sử dụng. Mảng; ....

Ghi chú::

// Chương trình chuyển đổi mảng nguyên nguyên thủy thành mảng chuỗi trong java. công khai void void chính [chuỗi [] args] {.

  • int [] intarray = {1, 2, 3, 4, 5}; Chuỗi str = mảng. toString [intarray] // [1, 2, 3, 4, 5].
  • . thay thế ["\\ s+", ""]; // [1,2,3,4,5] ....
  • Hệ thống. ngoài..

INTVAL PHP là gì?

Hàm intval [] là một hàm sẵn có trong PHP trả về giá trị số nguyên của một biến. Cú pháp: int intval [$ var, $ base]

Giá trị tối đa phụ thuộc vào hệ thống. Các hệ thống 32 bit có phạm vi số nguyên có chữ ký tối đa là -2147483648 đến 2147483647. Vì vậy, ví dụ như trên một hệ thống như vậy,

$integerIDs = array_map['intval', explode[',', $long_string]];
9 sẽ trả về 2147483647. Giá trị số nguyên có chữ ký tối đa cho hệ thống 64 bit là 9222337203685477.

Các chuỗi rất có thể sẽ trả về 0 mặc dù điều này phụ thuộc vào các ký tự ngoài cùng bên trái của chuỗi. Các quy tắc phổ biến của việc đúc số nguyên áp dụng.

Ví dụ

Ví dụ #1 intval [] Ví dụintval[] examples

Các ví dụ sau đây dựa trên hệ thống 32 bit.

  $integerIDs = json_decode['[' . $long_string . ']', true];
0

Ghi chú

Ghi chú::

Tham số

$integerIDs = array_map['intval', explode[',', $long_string]];
5 không có hiệu lực trừ khi tham số
$integerIDs = array_map['intval', explode[',', $long_string]];
4 là một chuỗi.

Xem thêm

  • boolval [] - Nhận giá trị boolean của một biến
  • floatVal [] - nhận giá trị float của một biến
  • strval [] - Nhận giá trị chuỗi của một biến
  • setType [] - Đặt loại biến
  • is_numeric [] - Tìm một biến là số hay chuỗi số
  • Loại tung hứng
  • BCMath Chức năng toán học chính xác tùy ý

Ken ¶

10 năm trước

  $integerIDs = json_decode['[' . $long_string . ']', true];
3

Leon tại Leonidasjp Dot NL ¶

5 năm trước

  $integerIDs = json_decode['[' . $long_string . ']', true];
4

  $integerIDs = json_decode['[' . $long_string . ']', true];
5

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

Winbill tại hotmail dot com

11 năm trước

  $integerIDs = json_decode['[' . $long_string . ']', true];
7

  $integerIDs = json_decode['[' . $long_string . ']', true];
8

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

zak tại php dot net ¶

22 năm trước

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
0

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
1

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
2

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
3

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
4

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
5

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
6

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
7

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
8

  $result_array = array[];
  $strings_array = explode[',', $long_string];
  
  foreach [$strings_array as $each_number] {
      $result_array[] = [int] $each_number;
  }
9

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
0

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
1

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
2

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
3

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
4

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
5

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
6

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

Ben Laurienti ¶

16 năm trước

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
8

Method 1        Method 2        Method 3
0.4804770947    0.3608930111    0.3387751579
0.4748001099    0.363986969     0.3762528896
0.4625790119    0.3645150661    0.3335959911
0.5065748692    0.3570590019    0.3365750313
0.4803431034    0.4135499001    0.3330330849
0.4510772228    0.4421861172    0.341176033
0.503674984     0.3612480164    0.3561749458
0.5598649979    0.352314949     0.3766179085
0.4573421478    0.3527538776    0.3473439217
        
0.4863037268    0.3742785454    0.3488383293
9

explode[]0

explode[]1

explode[]2

explode[]3

explode[]4

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

Spoon_Reloaded tại Gmail Dot Com ¶

13 năm trước

explode[]6

explode[]7

explode[]8

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

Anony Moose ¶

2 năm trước

array_map[]0

array_map[]1

array_map[]2

array_map[]3

array_map[]4

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

Ben Laurienti ¶

2 năm trước

array_map[]6

array_map[]7

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

Ẩn danh ¶

Anthony ¶

array_map[]9

4 năm trước

Espertalhao04 tại hotmail dot com

foreach0

foreach1

foreach2

foreach3

9 năm trước

tuxedobob tại mac dot com ¶

foreach4

foreach5

foreach6

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

18 năm trước

Espertalhao04 tại hotmail dot com

foreach8

foreach9

array_map[]0

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

9 năm trước

16 năm trước

array_map[]2

Spoon_Reloaded tại Gmail Dot Com ¶

11 năm trước

array_map[]3

zak tại php dot net ¶

22 năm trước

array_map[]4

array_map[]5

array_map[]6

array_map[]7

  $integerIDs = json_decode['[' . $long_string . ']', true];
6

16 năm trước

array_map[]8

Làm thế nào để chuyển đổi mảng chuỗi thành số nguyên trong PHP?

Hàm number_format [] được sử dụng để chuyển đổi chuỗi thành một số.number_format[] function is used to convert string into a number.

Làm thế nào để bạn chuyển đổi một loạt các chuỗi thành số nguyên?

Nhập Java.sử dụng.Mảng;....
// Chương trình chuyển đổi mảng nguyên nguyên thủy thành mảng chuỗi trong java.công khai void void chính [chuỗi [] args] {.
int [] intarray = {1, 2, 3, 4, 5};Chuỗi str = mảng.toString [intarray] // [1, 2, 3, 4, 5].
.thay thế ["\\ s+", ""];// [1,2,3,4,5] ....
Hệ thống.ngoài..

INTVAL PHP là gì?

Hàm intval [] là một hàm sẵn có trong PHP trả về giá trị số nguyên của một biến.Cú pháp: int intval [$ var, $ base]an inbuilt function in PHP which returns the integer value of a variable. Syntax: int intval [ $var, $base ]

Bạn sử dụng như thế nào?

Hàm Ilifrode [] trả về một chuỗi từ các phần tử của một mảng.Lưu ý: Hàm Ilifrode [] chấp nhận các tham số của nó theo một trong hai thứ tự.Tuy nhiên, để thống nhất với Explode [], bạn nên sử dụng thứ tự các đối số được ghi lại.LƯU Ý: Tham số phân tách của Implode [] là tùy chọn.returns a string from the elements of an array. Note: The implode[] function accept its parameters in either order. However, for consistency with explode[], you should use the documented order of arguments. Note: The separator parameter of implode[] is optional.

Bài Viết Liên Quan

Chủ Đề