如何在PHP中创建特定的功能

时间:2014-04-07 10:49:43

标签: php mysql

我正在尝试编写一个函数,但不知道如何开始。

目前我有一个IF声明,我必须不断重复我的数据库中的大小数量的许多变化。

   $size = '43';
// check if size is available 
if($line['quantity_c_size_'.$size.''] > 0 ) { 
?>

<?=$line['product_id']?>, 
<?=$line['code_c_size_'.$size.'']?>,
EAN, 
<?=$line['title']?>, 


<?=preg_replace('/[^\da-z]/i', ' ', $line['amazon_desc']) ?>,
<?=$size?>,
<?=$line['colour']?>, 

Shoes, 
UPDATE, 
<?=$line['shoe_id']?>, 
<?=$line['price']?>,
<?=$line['price']?>,
GBP,
<?=$line['quantity_c_size_'.$size.'']?>,
A_GEN_NOTAX,
<?=$line['added_y']?>-<?=$line['added_m']?>-<?=$line['added_d']?>,
<?=$line['added_y']?>-<?=$line['added_m']?>-<?=$line['added_d']?>,
?>

对数据库中的每个大小重复此操作 - 每个'quantity_size'列在数据库中是独立的。

以下是所有可能尺寸的列表:

'quantity_c_size_42'
'quantity_c_size_425'
'quantity_c_size_43'
'quantity_c_size_435'
'quantity_c_size_44'
'quantity_c_size_445'
'quantity_c_size_45'
'quantity_c_size_455'
'quantity_c_size_46'
'quantity_c_size_465'
'quantity_c_size_47'
'quantity_c_size_475'
'quantity_c_size_48'
'quantity_c_size_485'
'quantity_size_one'
'quantity_size_1'
'quantity_size_2'
'quantity_size_3'
'quantity_size_4'
'quantity_size_5'
'quantity_size_6'
'quantity_size_7'
'quantity_size_8'
'quantity_size_9'
'quantity_size_10'
'quantity_size_11'
'quantity_size_12'
'quantity_size_13'
'quantity_size_15'
'quantity_size_25'
'quantity_size_35'
'quantity_size_45'
'quantity_size_55'
'quantity_size_65'
'quantity_size_75'
'quantity_size_85'
'quantity_size_95'
'quantity_size_105'
'quantity_size_115'
'quantity_size_125'

基本上,我知道我需要一个获取大小的函数并将其传递给IF语句 - 但是,我不确定如何实现它。

阐述:

IF语句逻辑如下:

如果其中一个'quantity_size'列可能大于0 然后做......

因此该函数需要检查任何可能的'quantity_size'列是否具有大于零的数量并获得列名称中的大小(即42)。而不是必须单独检查每个尺寸。

希望这是有道理的。

谢谢

3 个答案:

答案 0 :(得分:2)

通过使用explode将你的每个$ size用于switch case并将其放在switch case中并避免使用所有if语句。

$m= explode("_", $line['quantity_c_size_'.$size.'']);
switch($m){
case 1:......

 case 2:
}

答案 1 :(得分:0)

使用此功能

<?php
    function getSize($string){
        $array = explode ( "_", $string);
        return $array[count($array) - 1];
    }
    $size = getSize("quantity_size_10");
    switch($size){
    case ...:
        .
        . 
    break;
    }
?>

答案 2 :(得分:0)

function getSize($size) {
  if($line['quantity_c_size_'.$size.''] > 0 ) {
    // Run code
  }
}
getSize(75);

这是你在找什么?