ホームページ >バックエンド開発 >PHPチュートリアル >PHPの配列呼び出しと関数の実行方法

PHPの配列呼び出しと関数の実行方法

墨辰丷
墨辰丷オリジナル
2018-06-11 17:42:462865ブラウズ

この記事では、PHP で配列の値を再帰的に呼び出し、それを使用して指定された関数を実行する方法を主に紹介します。これには、PHP の配列の呼び出しと関数の実行に関するスキルが含まれます。必要な方は参考にしてください。

この記事の例では、PHP が配列値を再帰的に呼び出し、それを使用して指定された関数を実行する方法を説明します。具体的な分析は次のとおりです。

以下は元の wordpress コードです。面倒なので、他の関数に適用するように単純に変更します。

/**
* Navigates through an array and removes slashes from the values.
*
* If an array is passed, the array_map() function causes a callback to pass the
* value back to the function. The slashes from this value will removed.
*
* @since 2.0.0
*
* @param mixed $value The value to be stripped.
* @return mixed Stripped value.
*/
function stripslashes_deep($value) {
 if ( is_array($value) ) {
  $value = array_map('stripslashes_deep', $value);
 } elseif ( is_object($value) ) {
  $vars = get_object_vars( $value );
  foreach ($vars as $key=>$data) {
   $value->{$key} = stripslashes_deep( $data );
  }
 } elseif ( is_string( $value ) ) {
  $value = stripslashes($value);
 }
 return $value;
}

コードは次のとおりです。

<?php 
function function_deep($function,$value) {
  try {
    if(!function_exists($function)){
      $error = &#39;"&#39;.$function.&#39;" is undefined&#39;;
      throw new Exception($error);
    }
  } catch (Exception $e) {
    echo &#39;Caught exception: &#39;, $e->getMessage(), "\n";
    die();
  }
  if ( is_array($value) ) {
    $fun = Array();
    for($i=1;$i<=count($value);$i++){
      $fun[] = $function; 
    }
    $value = array_map("function_deep",$fun, $value);
  } elseif ( is_object($value) ) {
    $vars = get_object_vars( $value );
    foreach ($vars as $key=>$data) {
      $value->{$key} = function_deep($function,$data );
    }
  } elseif ( is_string( $value ) ) {
    $value = call_user_func($function,$value);
  }
  return $value;
}
$arr = array(
    "I&#39;m bean",
    "I&#39;m bean",
    array("I&#39;m bean","I&#39;m bean")
    );
var_dump(function_deep("addslashes",$arr));
// 输出结果
// array (size=3)
//  0 => string &#39;I\&#39;m bean&#39; (length=9)
//  1 => string &#39;I\&#39;m bean&#39; (length=9)
//  2 => 
//   array (size=2)
//    0 => string &#39;I\&#39;m bean&#39; (length=9)
//    1 => string &#39;I\&#39;m bean&#39; (length=9) 
?>

まとめ : 以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。

関連する推奨事項:

ファイルの再帰的走査と名前変更のための php メソッド

php テンプレートと js のアップロードプラグインとリフレッシュフリーアップロードを実現するメソッドを組み合わせた

php番号と番号動作確認コード

以上がPHPの配列呼び出しと関数の実行方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。