0

drupal6を使用しています

私が持っているとしましょう

  $items['path/yo'] = array(
    'page callback' => 'callback_function',
    'page arguments' => array(1),
    'type' => MENU_CALLBACK,
  );

代わりに、パスの1番目の位置にある部分(この場合は「yo」を渡します)をcallback_function関数に渡します。

しかし、実際に整数1を関数に渡そうとしている場合はどうなりますか?最初に文字列としてキャストしてから整数に再変換せずにそれを行うにはどうすればよいですか...

4

2 に答える 2

1

php型変換は非常によく行われています。型キャストには注意する必要がありますが、特に0と1は文字列、数値、ブール値である可能性があるためです。

条件(===!==など)で型チェックを使用できます。現在の例では、最初は文字列ではなく、数値です。1をcallback_functionに渡します。

function callback_function($args) {
print_r($args);
}

渡された引数を提供します。この場合$args[0]、数値は1になります。99%の場合、数値であるか文字列であるかを心配する必要はありません。これを数値として使用すると、phpが数値に変換し、 stringphpはそれを文字列として扱います。条件文に注意し、これを必ず読んでください:http: //php.net/manual/en/language.operators.comparison.php

たとえば、それが1番かどうかを確認します。

if(1 === $args[0]) echo "Numbah one!";

「Numbaho​​ne!」のみを印刷します 数値タイプと数値1の場合。必要に応じて、次のように型キャストできます。

(int)$args[0];
(string)$args[0];
(boolean)$args[0];

それぞれ。

この記事もチェックしてください:http: //drupal.org/node/1473458

于 2012-08-06T18:41:49.313 に答える
0
  $items['path/yo'] = array(
    'page callback' => 'callback_function',
    'page arguments' => array("1"),
    'type' => MENU_CALLBACK,
  );

Wolfeの答えも参照してください。(int)1と入力すると、arg(1)になります。そのままページコールバックに渡す文字列を入力します。

于 2012-08-06T20:44:22.917 に答える