2017-04-10 57 views
1

我目前得到了接收表單數據的頁面時,我的後兩條信息 -通過數組循環基於POST變量 - PHP

$country_name = $_POST[「country_name」]; 
$price_point = $_POST[「price_point」]; 

我現在有一個電子表格,在列的信息

Information Format

我需要能夠運行使用後的變量,並發現該數組中的相應值的函數。

我還沒有創建一個數組,因爲我不知道格式化這個數組的最佳方式。這是我奮鬥的地方..

示例輸出是;

國家的郵政價值是美國。 價格點爲2. 該值爲1.5。

對任何能夠幫助我下面的人的主要愛!

感謝

+0

閱讀PHPexcel閱讀和寫入Excel表。否則,您將需要使用像mysql這樣的數據庫(並將phpmyadmin作爲MySQL的gui)並查詢它是最佳方式。使用phpexcel,您可以將電子表格導入到數組或對象中,使用php進行修改並將其導出。 – Nitin

+0

您需要使用數組的索引進行最快搜索$ arr = array('US'=> [...],'UK'=> [...]);或根據搜索參數動態重新排列陣列 – Nitin

回答

1

我會創建這樣的

$dataPoints = array(
    array(
     'point' => 1, 
     'price' => 1.5, 
     'country' => 'UK' 
    ), 
    array(
     'point' => 1, 
     'price' => 1.3, 
     'country' => 'US' 
    ), 
    array(
     'point' => 1, 
     'price' => .8, 
     'country' => 'SWEDEN' 
    ), 
    ... 
) 

陣列而像

function getPrice($pricePoint, $country) { 
    // Search in array for good price 
    foreach ($dataPoints as $dataPoint) { 
     if ($dataPoint['point'] == $pricePoint && $dataPoint['country'] == $country) { 
      return $dataPoint['price']; 
     } 
    } 
    return null; 
} 

一個功能,與你的訊息參數稱它爲打印

$pp = filter_input(INPUT_POST, 'price_point'); 
$country = filter_input(INPUT_POST, 'country_name'); 
$price = getPrice($pp,$country); 

echo 'Country is ', $country, '. The price point is ', $pp, '. The price is ', $price; 
+1

Camille,這看起來像我之後的解決方案,但是在我將它們傳遞給getPrice後,如何根據這些點搜索數組? – DIM3NSION

+0

我添加了搜索功能_getPrice_ – Camille

0

alternativel Ÿ我只是把這些值放在一個多維數組中,如下面的示例

一旦這個電子表格變得更大,我會建議從數據庫中生成數組。

<?php 
    $country_name = 'UK'; 
    $price_point = 4; 

    $arr = array(
     'UK' => array(
      1 => 1.5, 
      2 => 1.6, 
      3 => 1.9, 
      4 => 12 
     ), 
     'US' => array(
      1 => 1.3, 
      2 => 1.5, 
      3 => 1.6, 
      4 => 1.7 
     ), 
     'SWEDEN' => array(
      1 => 0.8, 
      2 => 0.7, 
      3 => 0.5, 
      4 => 0.3 
     ) 
    ); 

    $value = $arr[$country_name][$price_point]; 
    echo $value; 
    // echoes 12 
?> 
+0

這並不完全回答這個問題。正如問題中所述_「我需要能夠運行使用後變量的函數」_您應該編輯答案以包含此類函數 – Shogunivar