7 پست در این موضوع قرار دارد

سلام من آرایه زیر رو دارم

array(6) {
  ["title"]=>
  string(23) "عنوان ابزارک"
  ["number"]=>
  int(1)
  ["rounded"]=>
  string(5) "false"
  [1]=>
  array(6) {
    ["address-image1"]=>
    string(35) "http://forum.wp-parsi.com"
    ["address-link1"]=>
    string(35) "http://forum.wp-parsi.com"
    ["width-img1"]=>
    string(3) "120"
    ["height-img1"]=>
    string(3) "240"
    ["ads-code1"]=>
    string(0) ""
    ["expire1"]=>
    string(0) ""
  }
}

حالا چطوری می تونم اطلاعات مثلا ["address-link1"] رو چاپ کنم

0

به اشتراک گذاری این پست


لینک به پست

زبونتون ؟

0

به اشتراک گذاری این پست


لینک به پست

مثلا

echo $list[0]->address-link1;

 

1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

من می خوام وقتی تاریخ یک آرایه که بهش دادم گذشت حذف بشه حالا این آرایه منه :

array(4) {
  ["title"]=>
  string(10) "تبلیغ"
  ["number"]=>
  int(2)
  [1]=>
  array(3) {
    ["address-image"]=>
    string(63) "http://localhost/wordpress/wp-content/uploads/2016/08/120-3.jpg"
    ["address-link"]=>
    string(63) "http://localhost/wordpress/wp-content/uploads/2016/08/120-3.jpg"
    ["expire"]=>
    string(10) "1395/12/10"
  }
  [2]=>
  array(3) {
    ["address-image"]=>
    string(63) "http://localhost/wordpress/wp-content/uploads/2016/08/120-3.jpg"
    ["address-link"]=>
    string(63) "http://localhost/wordpress/wp-content/uploads/2016/08/120-3.jpg"
    ["expire"]=>
    string(10) "1395/08/10"
  }
}

می خوام آرایه ای که شماره کلیدش 2 هست حذف بشه (تاریخش گذشته):

برای این کار من کد زیر رو نوشتم براش:

 <?php
$widgets = get_option('widget_ads_banner_sidebars');
    $count = count($widgets);
    for ($x=1; $x<=$count ;$x++ ){
        foreach ( $widgets as $key => $w){
            if (!is_array( $w )) continue ;
            if(!empty($w[$x]['expire'])) {
				
                  $today_date = jdate('Ymd');
                  $expire_time = $w[$x]['expire'];
				
                if (($today_date >= $expire_time)) {
                    $wid = $widgets[$key][$x];
                    //dd($wid) ;
                   unset($widgets[$key][$x])
				}
            }
        }
    }

ولی به جای این که کل آرایه حذف بشه فقط محتویاتش حذف شدش به این شکل:

array(4) {
  ["title"]=>
  string(10) "تبلیغ"
  ["number"]=>
  int(2)
  [1]=>
  array(3) {
    ["address-image"]=>
    string(63) "http://localhost/wordpress/wp-content/uploads/2016/08/120-3.jpg"
    ["address-link"]=>
    string(63) "http://localhost/wordpress/wp-content/uploads/2016/08/120-3.jpg"
    ["expire"]=>
    string(0) "1395/12/10"
  }
  [2]=>
  array(3) {
    ["address-image"]=>
    string(0) ""
    ["address-link"]=>
    string(0) ""
    ["expire"]=>
    string(0) ""
  }
}

 

ویرایش شده در توسط reza_yki
0

به اشتراک گذاری این پست


لینک به پست

شما با unset نمی تونی یک عنصر رو از آرایه حذف کنی. باید محتواش رو پاک کنی، بعد خونه های بعدیش رو یکی بیاری عقب تا آرایه درست بشه

1

به اشتراک گذاری این پست


لینک به پست
در 10 ساعت قبل، SM-Mahdavi گفته است :

شما با unset نمی تونی یک عنصر رو از آرایه حذف کنی. باید محتواش رو پاک کنی، بعد خونه های بعدیش رو یکی بیاری عقب تا آرایه درست بشه

بعد unset من با کد زیر آپدیت می کنم:

update_option('widget_ads_banner_sidebars', $widgets , true);

لطفا بیشتر توضیح بدید و مثالی بزنید

0

به اشتراک گذاری این پست


لینک به پست

کد شما به صورت زیر میشه

$widgets = get_option('widget_ads_banner_sidebars');
foreach($widgets as $key => $widget){
    if(is_numeric($key) and is_array($widget)){
        if($key == 2)
        unset($widgets[2]);
    }
}  
update_option('widget_ads_banner_sidebars', $widgets , true);

 

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری