在我的文件中,我编写了以下代码:
if ( is_array( $form_data['list'][95] ) ) {
$i = 1;
foreach ( $form_data['list'][95] as $row ) {
/* Uses the column names as array keys */
$name[$i] = $row['Name'];
$phonetic[$i] = $row['Phonetic Spelling'];
if ($phonetic[$i] == ''){$spelling[$i] = '';} else {$spelling[$i] = '('.$phonetic[$i].')';}
$order[$i] = $row['Order'];
$full_row[$i] = $order[$i].' - '.$name[$i].' '.$spelling[$i];
$i++;
}
rsort($full_row);
foreach ($full_row as $key => $val) {
echo "$val<br />";
}
}这个很好用。它输出了我期望的列表。但是,如果我试图将它作为一个函数输出,则不会发生任何事情。
function OrderFormatIntros(){
if ( is_array( $form_data['list'][95] ) ) {
$i = 1;
foreach ( $form_data['list'][95] as $row ) {
/* Uses the column names as array keys */
$name[$i] = $row['Name'];
$phonetic[$i] = $row['Phonetic Spelling'];
if ($phonetic[$i] == ''){$spelling[$i] = '';} else {$spelling[$i] = '('.$phonetic[$i].')';}
$order[$i] = $row['Order'];
$full_row[$i] = $order[$i].' - '.$name[$i].' '.$spelling[$i];
$i++;
}
rsort($full_row);
foreach ($full_row as $key => $val) {
echo "$val<br />";
}
}
}
OrderFormatIntros();我需要提供更多的解释吗?还是有一个明确的理由,为什么代码将不会输出时,作为一个函数?
发布于 2016-10-25 21:28:49
OrderFormatIntros函数中的代码不了解$form_data变量的内容;您必须将它传递到函数中,例如:
<?php
function OrderFormatIntros($form_data){
if ( is_array( $form_data['list'][95] ) ) {
$i = 1;
foreach ( $form_data['list'][95] as $row ) {
/* Uses the column names as array keys */
$name[$i] = $row['Name'];
$phonetic[$i] = $row['Phonetic Spelling'];
if ($phonetic[$i] == ''){$spelling[$i] = '';} else {$spelling[$i] = '('.$phonetic[$i].')';}
$order[$i] = $row['Order'];
$full_row[$i] = $order[$i].' - '.$name[$i].' '.$spelling[$i];
$i++;
}
rsort($full_row);
foreach ($full_row as $key => $val) {
echo "$val<br />";
}
}
}
OrderFormatIntros($form_data);https://stackoverflow.com/questions/40249968
复制相似问题