使用关联数组打印匹配用户输入的值

时间:2016-02-29 02:38:11

标签: php

我有一个小程序,我试图为类完成,要求我接受用户输入,在数组中找到匹配,然后在值键与用户输入匹配时打印值。

我尝试了一些不同的东西,但我得到的最常见的逻辑错误是输入一个键返回" DoReMiFaSoLaTi"使用当前迭代(如下所示)。

我遇到的另一个问题是当我在foreach中嵌入if语句时添加一个else块(回显一个" not here" error),它返回DoNotHereReNotHere等。

这是课堂作业,所以我也经常在课堂上尝试演讲。那些没有按预期工作。

我正试着弄清楚逻辑错在哪里,所以我非常感激任何帮助。谢谢!

@implementation ViewController
nokeSDK *nokelock;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    //INITIALIZE NOKE SDK
    nokelock = [[nokeSDK alloc] init];
    nokelock->cmd = [[nokecommand alloc] init];

3 个答案:

答案 0 :(得分:1)

$rows = 12;
$repeatable_fields = get_post_meta($post->ID, 'repeatable_fields', true);
    if ( $repeatable_fields ) {
        foreach ( $repeatable_fields as $field ) {
            $pdf->Cell(96, 15, esc_attr( $field['order_sku'] ), 'L,R,B', 0, 'L');
            $pdf->Cell(258, 15, esc_attr( $field['order_item'] ), 'R,B', 0, 'L');
            $pdf->Cell(30, 15, esc_attr( $field['order_qty'] ), 'R,B', 0, 'C');
            $pdf->Cell(96, 15, esc_attr( $field['order_price'] ), 'R,B', 0, 'R');
            $pdf->Cell(96, 15, esc_attr( $field['order_subtotal'] ), 'R,B', 1, 'R');
            $counter++;     
        }
        for ($counter = 0 ; $counter < $rows; $counter++){
            $pdf->Cell(96, 15, '', 'L,R,B', 0, 'L');
            $pdf->Cell(258, 15, '', 'R,B', 0, 'L');
            $pdf->Cell(30, 15, '', 'R,B', 0, 'C');
            $pdf->Cell(96, 15, '', 'R,B', 0, 'R');
            $pdf->Cell(96, 15, '', 'R,B', 1, 'R');
        }
    }

答案 1 :(得分:0)

使用isset检查变量是否已设置。它没有声明变量。这样的事情会起作用:

if (isset($_POST['notes']))
{
    $query = $_POST['notes'];

    foreach ($scale as $key => $sound)
    {
        if ($query == $key)  
        {
            echo $sound;
            break;
        }
        else 
        {
            echo "There is no match!";
            break;
        }
    }
}

答案 2 :(得分:0)

如果没有循环,你也可以这样做。

$scale = array(
    "A" => "Do",
    "B" => "Re",
    "C" => 'Mi',
    "D" => 'Fa',
    "E" => 'So',
    "F" => 'La',
    "G" => 'Ti'
);

if(!empty($_POST['notes'])){

    if(!empty($scale[$_POST['notes']])){
        echo $scale[$_POST['notes']];
    }else{
        echo "Not here!";
    }

}