0

これらの値の例があります:

$waiting['s9d8393838333'][] = array("client_id" => "2039833");
$waiting['s9d8393838333'][] = array("client_id" => "1039833");

配列から client_id を削除するにはどうすればよいですか? ex client_id => 2039833 を削除しますか?

foreach ( $waiting as $e => $array):
    if ( $array['client_id'] == $clientID):
         //Here i should delete that index ???
    endif;
endforeach;
4

2 に答える 2

2

それunsetが目的です:

foreach ( $waiting['s9d8393838333'] as $key => $array ) {
    if ( $array['client_id'] == $clientID ) {
        unset( $waiting['s9d8393838333'][$key] );
        break;
    }
}

ここで実際に見てください:http://codepad.viper-7.com/6dmr3N

于 2013-08-21T18:01:46.663 に答える
1
foreach ($waiting as $key => $array) {
    foreach ($array as $key2 => $val) {
        if ($val['client_id'] == $clientID) {
            unset($waiting[$key][$key2]);
        }//END IF
    }//END FOREACH LOOP
}//END FOREACH LOOP

誰かの苦情として「ロジックを保持」したい場合は、これを使用します。

foreach ($waiting as $key => $array) {
    foreach ($array as $key2 => $val) {
        if ($val['client_id'] == $clientID) {
            unset($waiting[$key][$key2]);
        endif;
    endforeach;
endforeach;

これにより、client_id だけでなく多かれ少なかれ必要に応じて変更できます

作業例: http://codepad.viper-7.com/ut9UpS

于 2013-08-21T18:03:03.333 に答える