传递函数的数组 - php

时间:2018-05-27 10:52:56

标签: php arrays function

我有一个关于在函数中传递多维数组的问题。

我有以下代码(数组),还有一些数组。

$product = array();
$product[] = array(
    'Category' => "Smartphone",
    'Seller' => "Apple",
    'Product' => "<img src='Bild_iPhone_8.JPG' alt='iPhone 8' height='130px' />",
    'Price' => 836,
    'Selection' => "Mark1"
);
$product[] = array(
    'Category' => "Smartphone",
    'Seller' => "Samsung",
    'Product' => "<img src='Bild_Galaxy_S8.JPG' alt='Galaxy S8' height='130px' />",
    'Price' => 649,
    'Selection' => "Mark2"
);
$product[] = array(
    'Category' => "Notebook",
    'Seller' => "Apple",
    'Product' => "<img src='Bild_MacBookAir.JPG' alt='MacBook Air' width='130px' />",
    'Price' => 999,
    'Selection' => "Mark3"
);

我现在还不知道如何将参数放入函数中。 我已经尝试了很多可能性,但是没什么可行的。 应该可以使用表单发出请求。

你能帮帮我吗?非常感谢! Greets,Mikra

2 个答案:

答案 0 :(得分:0)

我没有解决你的问题。您可以以相同的方式将整个多维数组传递给函数,传递一维数组。

$products = [];
$products[] = [
    'Category' => "Smartphone",
    'Seller' => "Apple",
    'Product' => "<img src='Bild_iPhone_8.JPG' alt='iPhone 8' height='130px' />",
    'Price' => 836,
    'Selection' => "Mark1"
];
// ... add more products

processProducts($products);

以及稍后的代码

function processProducts($products) {
    foreach ($products as $product) {
        processProduct($product['Category'], $product['Seller'], and so on...);
        // or..
        processProduct($product);
    }
}

function processProduct($category, $seller, ...) {

}

function processProduct($product) {
}

答案 1 :(得分:-1)

使用Array.push将多个项目插入单个数组。

$product = array();
$item = array(
    'Category' => "Smartphone",
    'Seller' => "Apple",
    'Product' => "<img src='Bild_iPhone_8.JPG' alt='iPhone 8' height='130px' />",
    'Price' => 836,
    'Selection' => "Mark1"
);

array_push($product,$item);

print_r($product);

然后您可以将主$product数组传递给任何函数。

calculatePrice($product);

要访问第一个元素,请使用$product[0]或使用foreach遍历所有元素。