0

申し訳ありませんが、それは基本的なことかもしれませんが、私はそれを理解できませんでした

私は配列を持っています

$_POST = array("name"=>"John","fname"=>"Anderson","submit"=>"submit");

私が欲しいのは、最後の要素を削除した後に $_POST 配列を返すことです"submit" => "submit"

送信の設定を解除するだけでこれを実行できることはわかっていますが、動的にしたいのです。

やってみた

$_POST = array_pop($_POST);
print_r($_POST);

しかし、それは私に「提出」という言葉だけを返しています。私が欲しいものを返す必要があります

array("name"=>"John","fname"=>"Anderson");

更新部分:

public function insertRow($table,$_post){
        $_post = (array_pop($_post));
        print_r($_post);
    }

$Connection->insertRow("users",array("name"=>"raheel","fname"=>"masood","submit"=>"submit"));

上記の関数では、 $_post は送信のみを返します

4

4 に答える 4

1

マニュアルから:

混合array_pop(配列&$配列)

array_pop()配列の最後の値をポップして返し、配列を 1 要素短縮します。が空の場合array(または配列でない場合)NULLが返されます。非配列で呼び出されると、追加で警告が生成されます。

注: この関数はreset()、使用後に入力配列の配列ポインターになります。

それで:

$popdValue = array_pop($_POST); // no assignment to $_POST
echo $popdValue; // last element removed from $_POST
print_r($_POST); // remaining $_POST
于 2013-10-20T04:04:32.737 に答える
1

array_pop関数は配列をその場で変更します。ポップ後の配列ではなく、ポップされたものを返します。したがって、戻り値を に戻さないでください$_POST

実際にそれ自体を変更$_POST せずにの最後の要素を除くすべてを取得する場合は、次を使用できます。$_POSTarray_slice

$_POST_minus_last = array_slice($_POST, 0, -1);
于 2013-10-20T04:17:46.703 に答える
-1

array_popポップされた要素を返すため。配列の残りの部分ではありません。

array_pop($_POST);
print_r($_POST);
于 2013-10-20T04:04:47.300 に答える