为什么赢了';当作为PHP函数调用时,我的代码不会输出吗?

为什么赢了';当作为PHP函数调用时,我的代码不会输出吗?,php,function,Php,Function,在我的文件中,我编写了以下代码: 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

在我的文件中,我编写了以下代码:

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 />";
    }
}
if(is_数组($form_data['list'][95])){
$i=1;
foreach($form_data['list'][95]作为$row){
/*将列名用作数组键*/
$name[$i]=$row['name'];
$拼音[$i]=$row['拼音'];
if($拼音[$i]=''){$spelling[$i]='';else{$spelling[$i]='('.$拼音[$i].');}
$order[$i]=$row['order'];
$full_row[$i]=$order[$i].-'.$name[$i].'.$spelling[$i];
$i++;
}
rsort(整行);
foreach($key=>$val的整行){
回声“$val
”; } }
这个很好用。它输出我所期望的列表。但是,如果我尝试将其作为函数输出,则什么也不会发生

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();
函数OrderFormatIntros(){
if(is_数组($form_data['list'][95])){
$i=1;
foreach($form_data['list'][95]作为$row){
/*将列名用作数组键*/
$name[$i]=$row['name'];
$拼音[$i]=$row['拼音'];
if($拼音[$i]=''){$spelling[$i]='';else{$spelling[$i]='('.$拼音[$i].');}
$order[$i]=$row['order'];
$full_row[$i]=$order[$i].-'.$name[$i].'.$spelling[$i];
$i++;
}
rsort(整行);
foreach($key=>$val的整行){
回声“$val
”; } } } OrderFormatIntros();

我需要提供更多的解释吗?或者,当作为函数调用时,代码不会输出的原因是否明确?

OrderFormatIntros函数中的代码与$form_数据变量的内容无关;必须将其传递到函数中,例如:

<?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);

OrderFormatIntros函数中的代码与$form_数据变量的内容无关;必须将其传递到函数中,例如:

<?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);

$form\u data
在函数的作用域中不存在。读取。
$form\u数据
不存在于函数的作用域中。读一读,明白了。非常感谢。理解。非常感谢。