我有一个小程序,我试图为类完成,要求我接受用户输入,在数组中找到匹配,然后在值键与用户输入匹配时打印值。
我尝试了一些不同的东西,但我得到的最常见的逻辑错误是输入一个键返回" 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];
答案 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!";
}
}