رفتن به مطلب

پست های پیشنهاد شده

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

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"] رو چاپ کنم

لینک به ارسال

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

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
لینک به ارسال

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

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

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

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

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

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

لینک به ارسال

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

$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);

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...