目次
ディスカッションに返信する (解決策)
ホームページ バックエンド開発 PHPチュートリアル PHP の組み込み関数 create_function によって作成された関数パラメータ リストと関数本体の引用符の問題

PHP の組み込み関数 create_function によって作成された関数パラメータ リストと関数本体の引用符の問題

Jun 23, 2016 pm 02:17 PM

create_function で作成された関数

PHP の組み込み関数 create_function を使用して作成された関数。
create_function('$item','return $item*3;')
作成した関数のパラメータリストと関数本体を引用符で囲む必要がある理由をみんなに尋ねる

ディスカッションに返信する (解決策)

string create_function ( string $args , string $code )
両方のパラメータは文字列です

その場合、関数に送信されるパラメータは変数にすることもできます

create_function には 2 つの文字列パラメータを渡す必要があるため

あなたのコードは同等ですto

function tmp($item) { return $item*3; }$b = array_map('tmp', $a);
ログイン後にコピー

クロージャを使用するだけです
$b = array_map(function($item) { return $item*3; }, $a);
ログイン後にコピー

それでは、関数に送信されるパラメータも変数にすることはできませんか?

$item はすでに匿名関数に送信される変数です。

$a=array(100,200,300);
$b=array_map(create_function('$item','return $item*3;'),$a); つまり、('$item',' return $item) *3;') これらは create_function 関数の 2 つのパラメータです。

<?php

$a=array(100,200,300); $b=array_map('$ item','return $item*3;'),$a);
var_dump($b);
create_function には 2 つの文字列を渡す必要があります。ただし、ここでの $a のパラメータは 100 200 300 であり、これらは数値です。助けてください

function tmp($item) { return $item*3; }

$b = array_map('tmp', $a);

このように書かれていますが、何か質問はありますか?

create_function には 2 つの文字列を渡す必要があります
create_function によって生成された関数にも 2 つの文字列を渡す必要があるという意味ではありません
create_function に渡す必要がある 2 つの文字列は、次の 2 つの文字列です:匿名関数

<?php

$a=array(100,200,300)

$b=array_map(create_function('$item','return $item*3;'),$a);
var_dump($b); ;
create_function の要件 2 つの文字列を渡しますが、ここでの $a のパラメーターは 100 200 300 です。助けてください。

create_function 自体が匿名関数を作成することです。 ) は関数であり、入力パラメータは文字列として渡す必要があります。
作成された関数のパラメータは、渡したいパラメータです。つまり、作成された匿名関数はこのパラメータを内部で直接使用するため、関数の仮パラメータ 100、200、300 が渡されます。 , ので、それを渡します。これは数値型であり、数値型が使用されます。 * 演算子により、渡されたものが数値ではない場合 (たとえば、文字列 0123)、最初に数値に変換されてから演算されます:
を参照してください:
$a=array(100,200,"011 ");
$b=array_map( create_function('$item','return $item*3;'),$a);
var_dump($b);


ありがとうございます。わかりました。ところで、もう一つ質問がありますが、私は初心者なので理解できないことがたくさんあります

はい、それらはすべて変数の形式で定義されています。上記の専門家に感謝します

黙って集めてください

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

Laravelの通知

See all articles