Làm cách nào tôi có thể gán một mảng cho một mảng khác trong php?

  1. wchar_t a[50];
  2. wchar_t b[50];
  3. a=L"asdfgh";

tại sao tôi không thể nói

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
9

Cách trao đổi giá trị giữa hai mảng wchar_t

20 oct' 10 #1

1

Làm cách nào tôi có thể gán một mảng cho một mảng khác trong php?
24697
Làm cách nào tôi có thể gán một mảng cho một mảng khác trong php?

Làm cách nào tôi có thể gán một mảng cho một mảng khác trong php?

Bạn không thể nói b=a vì tên của một mảng là địa chỉ của phần tử 0

Trình biên dịch sẽ không cho phép bạn thay đổi địa chỉ của biến cục bộ

Bạn sẽ cần sao chép một mảng sang phần tử khác theo phần tử

Vấn đề của bạn không liên quan gì đến wchar_t mà là mọi thứ liên quan đến mảng

bạn có thể đọc. http. // byte. com/topic/c/insights/77. tia sáng tiết lộ

20 oct. 10 #2

Đăng trả lời của bạn

Đăng nhập để đăng câu trả lời của bạn hoặc Đăng ký một tài khoản miễn phí

Tôi đã bị đốt cháy một vài lần khi cố gắng sao chép các mảng PHP. Tôi muốn sao chép một mảng được xác định bên trong một đối tượng sang toàn cầu bên ngoài nó

đã hỏi Ngày 7 tháng 10 năm 2009 lúc 16. 11

vfclips vfclists

18. 4k19 huy hiệu vàng70 huy hiệu bạc90 huy hiệu đồng

2

Trong PHP, tất cả các biến ngoại trừ các đối tượng được gán theo cơ chế gọi là copy-on-write, trong khi các đối tượng được gán theo tham chiếu. Điều đó có nghĩa là đối với các mảng có giá trị vô hướng, chỉ cần

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
5 sẽ cung cấp cho bạn một bản sao

$a = array();
$b = $a;
$b['foo'] = 42;
var_dump($a);

Sẽ mang lại

array(0) {
}

Trong khi với các đối tượng,

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);

năng suất

object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}

Một trường hợp cạnh khi các phần tử mảng cũng có thể là các đối tượng cần được sao chép, được giải thích trong một câu trả lời khác

Bạn có thể bị nhầm lẫn bởi những nội dung phức tạp như

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
6, đây là một đối tượng hoạt động giống hệt như một mảng. Tuy nhiên, là một đối tượng, nó có ngữ nghĩa tham chiếu

Chỉnh sửa. @AndrewLarsson nêu lên một điểm trong các bình luận bên dưới. PHP có một tính năng đặc biệt gọi là "tham chiếu". Chúng hơi giống với con trỏ trong các ngôn ngữ như C/C++, nhưng không hoàn toàn giống. Nếu mảng của bạn chứa các tham chiếu, thì trong khi bản thân mảng được chuyển qua bản sao, thì các tham chiếu vẫn sẽ phân giải thành mục tiêu ban đầu. Tất nhiên đó thường là hành vi mong muốn, nhưng tôi nghĩ nó đáng được đề cập

Làm cách nào tôi có thể gán một mảng cho một mảng khác trong php?

đã trả lời 7 tháng 10 năm 2009 lúc 17. 56

troelskn troelskn

112k24 huy hiệu vàng132 huy hiệu bạc154 huy hiệu đồng

13

PHP sẽ sao chép mảng theo mặc định. Tài liệu tham khảo trong PHP phải rõ ràng

$a = array(1,2);
$b = $a; // $b will be a different array
$c = &$a; // $c will be a reference to $a

đã trả lời 7 tháng 10 năm 2009 lúc 16. 13

slikts slikts

7.7771 huy hiệu vàng27 huy hiệu bạc45 huy hiệu đồng

4

Nếu bạn có một mảng chứa các đối tượng, bạn cần tạo một bản sao của mảng đó mà không chạm vào con trỏ bên trong của nó và bạn cần sao chép tất cả các đối tượng (để bạn không sửa đổi bản gốc khi thực hiện các thay đổi đối với bản sao

Mẹo để không chạm vào con trỏ bên trong của mảng là đảm bảo rằng bạn đang làm việc với một bản sao của mảng chứ không phải mảng ban đầu (hoặc một tham chiếu đến nó), do đó, việc sử dụng một tham số hàm sẽ hoàn thành công việc (do đó,

Lưu ý rằng bạn sẽ vẫn cần triển khai __clone() trên các đối tượng của mình nếu bạn muốn các thuộc tính của chúng cũng được sao chép

Hàm này hoạt động với mọi loại mảng (bao gồm cả loại hỗn hợp)

function array_clone($array) {
    return array_map(function($element) {
        return ((is_array($element))
            ? array_clone($element)
            : ((is_object($element))
                ? clone $element
                : $element
            )
        );
    }, $array);
}

đã trả lời 18 tháng 7 năm 2013 lúc 16. 35

Andrew Larsson Andrew Larsson

8301 huy hiệu vàng18 huy hiệu bạc23 huy hiệu đồng

15

khi bạn làm

________số 8

PHP sao chép mảng, vì vậy tôi không chắc bạn sẽ bị đốt cháy như thế nào. Đối với trường hợp của bạn,

global $foo;
$foo = $obj->bar;

nên làm việc tốt

Để bị đốt cháy, tôi nghĩ bạn phải sử dụng các tham chiếu hoặc mong đợi các đối tượng bên trong mảng được sao chép

đã trả lời 7 tháng 10 năm 2009 lúc 16. 13

hỗn loạn hỗn loạn

120k33 huy hiệu vàng300 huy hiệu bạc308 huy hiệu đồng

1

đơn giản và tạo bản sao sâu phá vỡ tất cả các liên kết

$a = array();
$b = $a;
$b['foo'] = 42;
var_dump($a);
0

đã trả lời 4 tháng 11, 2016 lúc 21. 26

3

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
7 là một chức năng mà bạn có thể sao chép mảng này sang mảng khác trong PHP

David Cain

15. 7k11 huy hiệu vàng66 huy hiệu bạc73 huy hiệu đồng

đã trả lời 8 tháng 12 năm 2012 lúc 7. 56

2

Tôi thích

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
8 (hoặc
$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
9)

object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}
0

Nó hoạt động như

object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}
1 từ JavaScript

$a = array();
$b = $a;
$b['foo'] = 42;
var_dump($a);
6

sẽ cho kết quả

array(0) {
}
0

đã trả lời 16 tháng 3 năm 2018 lúc 12. 20

Putzi San Putzi San

5.0062 huy hiệu vàng18 huy hiệu bạc32 huy hiệu đồng

3

Nếu bạn chỉ có các loại cơ bản trong mảng của mình, bạn có thể làm điều này

array(0) {
}
1

Bạn sẽ không cần phải cập nhật tài liệu tham khảo theo cách thủ công
Tôi biết nó không hiệu quả với tất cả mọi người, nhưng nó hiệu quả với tôi

đã trả lời 13 tháng 3 năm 2016 lúc 7. 54

chrmcpn chrmcpn

5546 huy hiệu bạc10 huy hiệu đồng

1

Tôi biết điều này từ lâu, nhưng điều này hiệu quả với tôi

array(0) {
}
2

đã trả lời 24 tháng 2 năm 2015 lúc 20. 34

1

Cách an toàn nhất và rẻ nhất tôi tìm thấy là

array(0) {
}
3

Điều này cũng có lợi ích để giới thiệu lại mảng

Điều này sẽ không hoạt động như mong đợi trên mảng kết hợp (băm), nhưng hầu hết các câu trả lời trước đó đều không hoạt động

đã trả lời 5 tháng 1 năm 2017 lúc 13. 52

Hussard Hussard

6267 huy hiệu bạc14 huy hiệu đồng

Vì điều này không được đề cập trong bất kỳ câu trả lời nào và hiện đã có trong PHP 5. 3 (giả sử Bài viết gốc đã sử dụng 5. 2)

Để duy trì cấu trúc mảng và thay đổi giá trị của nó, tôi thích sử dụng

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
8 hoặc
$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
9 tùy thuộc vào trường hợp sử dụng của tôi

http. //php. net/thủ công/vi/chức năng. thay thế mảng. php

Dưới đây là một ví dụ sử dụng

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
8 và
$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
9 chứng minh rằng nó có thể duy trì thứ tự được lập chỉ mục và có khả năng xóa tham chiếu

http. // ý tưởng. com/SzlBUZ

Mã bên dưới được viết bằng cú pháp mảng ngắn có sẵn từ PHP 5. 4 thay thế

object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}
6 bằng
object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}
7. http. //php. net/manual/vi/ngôn ngữ. các loại. mảng. php

Hoạt động trên các mảng được lập chỉ mục và được lập chỉ mục theo tên

array(0) {
}
4

đầu ra

array(0) {
}
5

đã trả lời 20 tháng 8 năm 2014 lúc 19. 26

Sẽ B. Sẽ B.

16. 4k4 huy hiệu vàng61 huy hiệu bạc67 huy hiệu đồng

Tạo một bản sao của ArrayObject

array(0) {
}
6

từ https. //www. php. net/manual/en/arrayobject. getarraycopy. php

đã trả lời 23 tháng 5 năm 2019 lúc 12. 35

kheengz kheengz

77010 huy hiệu bạc9 huy hiệu đồng

Đây là cách tôi sao chép các mảng của mình trong Php

array(0) {
}
7

kết quả này

array(0) {
}
8

đã trả lời 11 tháng 3 năm 2015 lúc 2. 32

Baykal Baykal

5271 huy hiệu vàng10 huy hiệu bạc15 huy hiệu đồng

1

array(0) {
}
9

đã trả lời 29 tháng 5 năm 2015 lúc 10. 57

umair umair

372 huy hiệu đồng

object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}
8

Chỉ cần đăng thêm một giải pháp;)

đã trả lời 29 tháng 9 năm 2018 lúc 15. 36

Kim Kim

1.4991 huy hiệu vàng14 huy hiệu bạc28 huy hiệu đồng

xác định điều này

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
0

Sao chép $ARRAY sang $ARRAY 2

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
1

đã trả lời 29 tháng 7 năm 2016 lúc 19. 12

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
2

đã trả lời 14 tháng 7 năm 2017 lúc 11. 54

1

Trong mảng php, bạn chỉ cần gán chúng cho biến khác để lấy bản sao của mảng đó. Nhưng trước tiên, bạn cần chắc chắn về loại của nó, cho dù đó là mảng hay đối tượng mảng hay đối tượng std

Đối với mảng php đơn giản

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
3

đã trả lời ngày 6 tháng 4 năm 2017 lúc 5. 39

MAULIK MODI MAULIK MODI

5626 huy hiệu bạc10 huy hiệu đồng

$a = new StdClass();
$b = $a;
$b->foo = 42;
var_dump($a);
4

Giữ nguyên cả khóa và giá trị. Mảng 'a' là bản sao chính xác của mảng 'b'

đã trả lời 14 tháng 9 năm 2019 lúc 18. 05

Làm cách nào để lưu trữ một mảng này sang một mảng khác?

Mảng trong java có thể sao chép sang mảng khác bằng các cách sau. .

Sử dụng phép gán biến. Phương pháp này có tác dụng phụ khi các thay đổi đối với phần tử của mảng phản ánh trên cả hai vị trí. .

Tạo một mảng mới có cùng độ dài và sao chép từng phần tử

Sử dụng phương pháp nhân bản của mảng. .

Sử dụng hệ thống

Làm cách nào tôi có thể gán một mảng cho một mảng khác trong PHP?

Sử dụng phương thức array_push . Phương thức này đẩy phần tử mảng thứ hai trong mảng đầu tiên vào vị trí. $arr1 = mảng (1, 2);

Làm cách nào để chuyển dữ liệu từ mảng này sang mảng khác?

Phương pháp. .

Lặp lại từng phần tử của mảng ban đầu đã cho và sao chép từng phần tử một

Sử dụng phương thức clone()

Sử dụng phương thức arraycopy()

Sử dụng phương thức copyOf() của lớp Arrays

Sử dụng phương thức copyOfRange() của lớp Arrays

Làm cách nào để hợp nhất hai mảng trong PHP?

Hàm array_merge() trong PHP .

Hợp nhất hai mảng thành một mảng. $a1=mảng("đỏ","xanh"); .

Hợp nhất hai mảng kết hợp thành một mảng. $a1=array("a"=>"đỏ","b"=>"xanh"); .

Làm cách nào để thêm một mảng vào một mảng khác trong PHP?

Việc nối các mảng trong PHP có thể được thực hiện bằng hàm Array_merge() . Mảng sẽ lấy bất kỳ số lượng mảng nào làm đối số và sẽ trả về một mảng duy nhất.

Có thể gán lại mảng không?

Tóm lại, bạn không thể gán lại bất kỳ biến nào đã khai báo với const . Tuy nhiên, không giống như các biến đơn giản như số, chuỗi và booleans, đối tượng & mảng cung cấp các thuộc tính và phương thức bổ sung cho phép sửa đổi giá trị của chúng.

Làm cách nào chúng ta có thể nối các mảng trong PHP?

Hàm array_merge() trong PHP .
Hợp nhất hai mảng thành một mảng. $a1=mảng("đỏ","xanh"); .
Hợp nhất hai mảng kết hợp thành một mảng. $a1=array("a"=>"đỏ","b"=>"xanh"); .
Chỉ sử dụng một tham số mảng với các khóa số nguyên. $a=array(3=>"đỏ",4=>"xanh");

=> nghĩa là gì trong PHP?

=> là dấu phân cách cho các mảng kết hợp . Trong ngữ cảnh của vòng lặp foreach đó, nó gán khóa của mảng cho $user và giá trị cho $pass.