Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembelajaran tatasusunan PHP untuk mengira hasil darab unsur tatasusunan

Pembelajaran tatasusunan PHP untuk mengira hasil darab unsur tatasusunan

青灯夜游
青灯夜游asal
2021-08-02 13:17:323755semak imbas

Dalam artikel sebelumnya "Pembelajaran Tatasusunan PHP: Mengira Jumlah Elemen Tatasusunan", kami memperkenalkan kaedah pengiraan jumlah semua elemen dalam tatasusunan. Hari ini kita akan menukar asas ini Memandangkan kita boleh menambah jumlah semua elemen tatasusunan, kita juga boleh mencari hasil bagi semua elemen tatasusunan.

Artikel ini akan melihat cara mengira hasil darab semua elemen dalam tatasusunan Terdapat juga tiga kaedah: untuk gelung, gelung foreach dan array_product() fungsi terbina dalam contoh.

Kaedah 1: Gunakan untuk gelung

Mari kita lihat contoh berikut:

<?php
$array= array(2,3);
$product=1;
for ($i=0; $i < count($array); $i++) { 
    $product*=$array[$i];
} 
echo &#39;2 * 3 = &#39;. $product;

$array= array(2,3,4);
$product=1;
for ($i=0; $i < count($array); $i++) { 
    $product*=$array[$i];
} 
echo &#39;<br>2 * 3 * 4 = &#39;. $product;

$array= array(1,2,3,4,5,6,7,8,9,10);
$product=1;
for ($i=0; $i < count($array); $i++) { 
    $product*=$array[$i];
} 
echo &#39;<br>1 * 2 * 3 *...* 9 * 10 = &#39;. $product;
?>

Hasil output:

2 * 3 = 6
2 * 3 * 4 = 24
1 * 2 * 3 *...* 9 * 10 = 3628800

Dalam artikel sebelumnya, kerana ia adalah penjumlahan, nilai awal pembolehubah $sum ialah 0 dan tidak menjejaskan nilai berikutnya dalam artikel ini, ia adalah hasil darab dengan 0 ialah 0, jadi di sini$productNilai awal pembolehubah tidak boleh 0, tetapi 1. Pengendali

*= ialah "tugasan pendaraban", yang boleh mendarab pembolehubah di sebelah kiri pengendali dengan nilai ungkapan di sebelah kanan dan menetapkannya kepada pembolehubah di sebelah kiri.

Kaedah 2: Gunakan gelung foreach

Mari kita lihat contoh berikut:

<?php
$array= array(2,3);
$product=1;
foreach ($array as $value) { 
    $product*=$value;
}
echo &#39;2 * 3 = &#39;. $product;

$array= array(2,3,4);
$product=1;
foreach ($array as $value) { 
    $product*=$value;
}
echo &#39;<br>2 * 3 * 4 = &#39;. $product;

$array= array(1,2,3,4,5,6,7,8,9,10);
$product=1;
foreach ($array as $value) { 
    $product*=$value;
}
echo &#39;<br>1 * 2 * 3 *...* 9 * 10 = &#39;. $product;
?>

Hasil output:

2 * 3 = 6
2 * 3 * 4 = 24
1 * 2 * 3 *...* 9 * 10 = 3628800
Dalam

penyataan gelung foreach, tatasusunan dilalui dan nilai tatasusunan semasa ditugaskan kepada $value dalam setiap gelung kemudian pernyataan "$product*=$value;" digunakan dalam setiap gelung untuk menggabungkan nilai bagi tatasusunan semasa dengan tatasusunan sebelumnya. [Pembelajaran yang disyorkan: Pembelajaran Gelung PHP 3: Cara menggunakan pernyataan gelung for untuk melintasi tatasusunan ]

Kaedah 3: Gunakan fungsi array_product()

array_product () ialah fungsi terbina dalam PHP yang mengembalikan hasil darab semua elemen dalam tatasusunan.

Mari kita lihat bagaimana array_product() mengira hasil darab elemen tatasusunan melalui contoh kod:

<?php
$array= array(2,3,4);
echo &#39;2 * 3 * 4 = &#39;. array_product($array);

$array= array(3,4,5);
echo &#39;<br>3 * 4 * 5 = &#39;. array_product($array);

$array= array(1,2,3,4,5,6,7,8,9,10);
echo &#39;<br>1 * 2 * 3 *...* 9 * 10 = &#39;. array_product($array);
?>

Hasil keluaran:

2 * 3 * 4 = 24
3 * 4 * 5 = 60
1 * 2 * 3 *...* 9 * 10 = 3628800

Jika$array Jika terdapat unsur jenis bukan angka, PHP akan menukarnya kepada nilai angka (penukaran jenis data tersirat), dan jika penukaran gagal, ia akan dianggap sebagai nilai 0.

<?php
$array= array(2,"3.1",4);
echo &#39;2 * 3.1 * 4 = &#39;. array_product($array);

$array= array(3,"10.abc",5);
echo &#39;<br>3 * "10.abc" * 5 = 3 * 10 * 5 =&#39;. array_product($array);

$array= array(3,"hello",5);
echo &#39;<br>3 * "hello" * 5 = 3 * 0 * 5 =&#39;. array_product($array);
?>
  • Rentetan "3.1" akan ditukar kepada perpuluhan 3.1, jadi hasil darab unsur tatasusunan pertama ialah 24.8.

  • Rentetan "10abc" akan ditukar kepada integer 10, jadi hasil darab unsur tatasusunan kedua ialah 150.

  • Rentetan "hello" tidak boleh ditukar kepada integer, jadi sebagai nilai 0, hasil darab unsur tatasusunan ketiga ialah 0.

Hasil keluaran:

2 * 3.1 * 4 = 24.8
3 * "10.abc" * 5 = 3 * 10 * 5 =150
3 * "hello" * 5 = 3 * 0 * 5 =0

Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →Tutorial video php

Akhir sekali, saya mengesyorkan tutorial video percuma tentang tatasusunan PHP: Penjelasan video fungsi tatasusunan fungsi PHP, datang dan pelajari!

Atas ialah kandungan terperinci Pembelajaran tatasusunan PHP untuk mengira hasil darab unsur tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn