То, что я пытаюсь получить, это ..
я не знаю check_mobile_exists( $mobiles, $electronics )
эта функция возвращает true все время. Я хочу получить значение true, если ключ массива $ mobile существует в списке ключей $ electronics, и значение false, если его не существует. На основе этого результата я зацикливаю результат публикации. Но, как я уже сказал, функция возвращает true на каждой итерации. Любой, кто подскажет мне, что мне теперь делать?
function check_mobile_exists( $mobiles, $electronics ) {
foreach( $mobiles as $mobile => $price ) {
if( array_key_exists( $mobile, $electronics ) ) {
return true;
}
return false;
}
}
$mobiles = array(
'iPhone' => '$350',
'tablet' => '$100',
'samsung' => '$200',
'walton' => '$60'
);
$electronics = array(
'iPhone' => 'OK',
'tablet' => 'will do',
'walton' => 'No need'
);
while( have_posts() ): the_post();
if( check_mobile_exists( $mobiles, $electronics ) ){ // returning only true on every iterating
echo get_the_title() .' do something....<br />';
} else {
echo 'Do another....';
}
endwhile;
Попробуй это
$mobiles = array(
'iPhone' => '$350',
'tablet' => '$100',
'samsung' => '$200',
'walton' => '$60'
);
$electronics = array(
'iPhone' => 'OK',
'tablet' => 'will do',
'walton' => 'No need'
);
while( have_posts() ): the_post();
foreach( $mobiles as $mobile => $price ) {
if( array_key_exists( $mobile, $electronics ) ) {
echo get_the_title() .' do something....<br />';
}else{
echo 'Do another....';
}
}
endwhile;
ОБНОВЛЕНО: Итак, как вы сказали, без использования другой функции вы можете сделать это.
Сделайте это без проверки мобильной функции
$mobiles = array(
'iPhone' => '$350',
'tablet' => '$100',
'samsung' => '$200',
'walton' => '$60'
);
$electronics = array(
'iPhone' => 'OK',
'tablet' => 'will do',
'walton' => 'No need'
);while( have_posts() ): the_post();
foreach ( $mobiles as $m_key => $mobile ) {
if ( array_key_exists( $m_mey, $electronics) ) {
do somethin
} else {
do somethin
}
}
endwhile;