array_work与array_map

本文通过两个具体的PHP类实现,展示了如何使用array_walk()遍历数组并修改其元素样式,以及如何利用array_map()函数对数组中的每个元素进行计算并返回新的数组。这些示例有助于理解PHP中数组操作的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 array_work: 

class Study
{

    /**
     * array_work
     */
    function arr_work($val, $key)
    {
       echo "<p style='color:$val'>$key: I'm $val</p>";
    }


    function work()
    {
        $num = array(
            'a' => 'green',
            'b' => 'deepskyblue',
            'c' => 'blue',
            'd' => 'red',
        );
        array_walk($num, array($this, 'arr_work'));
    }

    //output

    a: I'm green

    b: I'm deepskyblue

    c: I'm blue

    d: I'm red

}

 array_map:

class Study
{

    /**
     * array_map
     */
    function arr_map($x)
    {
       return $x*10;
    }


    function map()
    {
        $num = array(1,2,3,4,5);
        $change = array_map(array($this, 'arr_map'),$num);
        print_r($change);
    }

    //output

    Array
    (
        [0] => 10
        [1] => 20
        [2] => 30
        [3] => 40
        [4] => 50
    )
}

 

E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 39057 (\N{CJK UNIFIED IDEOGRAPH-9891}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 25968 (\N{CJK UNIFIED IDEOGRAPH-6570}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 25454 (\N{CJK UNIFIED IDEOGRAPH-636E}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 30452 (\N{CJK UNIFIED IDEOGRAPH-76F4}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 26041 (\N{CJK UNIFIED IDEOGRAPH-65B9}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 22270 (\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 20687 (\N{CJK UNIFIED IDEOGRAPH-50CF}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 32032 (\N{CJK UNIFIED IDEOGRAPH-7D20}) missing from current font. self.draw() E:\zlt_work\zlt_work\DATA\读取ddr数据3.py:197: UserWarning: Glyph 20540 (\N{CJK UNIFIED IDEOGRAPH-503C}) missing from current font. self.draw() Traceback (most recent call last): File “E:\zlt_work\zlt_work\DATA\读取ddr数据3.py”, line 596, in update_display_range self.update_histogram() File “E:\zlt_work\zlt_work\DATA\读取ddr数据3.py”, line 570, in update_histogram hist, bin_edges = self.processor.calculate_histogram(frame) File “E:\zlt_work\zlt_work\DATA\读取ddr数据3.py”, line 92, in calculate_histogram hist, bins = np.histogram(flat_data, bins=256, range=(self.display_min, self.display_max)) File “<array_function internals>”, line 200, in histogram File “D:\SOFT\python\lib\site-packages\numpy\lib\histograms.py”, line 780, in histogram bin_edges, uniform_bins = _get_bin_edges(a, bins, range, weights) File “D:\SOFT\python\lib\site-packages\numpy\lib\histograms.py”, line 426, in _get_bin_edges first_edge, last_edge = _get_outer_edges(a, range) File “D:\SOFT\python\lib\site-packages\numpy\lib\histograms.py”, line 312, in _get_outer_edges raise ValueError( ValueError: max must be larger than min in range parameter.
06-25
void statusbar_ui_update_page_backend(uint32_t msg_id,void *data) { if (NULL == g_sbar) { OPLUS_UI_WARN_LOG("[sbar]status_bar g_sbar is null, not need update page"); return; } switch (msg_id) { case OBC_MSG_LANGUAGE_CHANGE: case MSG_FROM_MCU_LANGUAGE_UPDATE: case OBC_MSG_FROM_HOST_WORK_MODE_CHANGE:{ sbar_clear_page_data(); gui_msg_api_handler_cache_update("status_bar_app", "main"); break; } case MSG_STATUSBAR_UI_UPDATE_NOTIFY_EVENT: { if (NULL == data) { OPLUS_UI_WARN_LOG("[sbar] status_bar data is null"); return; } uint32_t icon_id = *((uint32_t *)data); read_and_refresh_btn(icon_id); break; } case OBC_MSG_CHARGE_STATUS_CHANGE: case OBC_MSG_GPS_STATUS_INFO: case MSG_FROM_MCU_BATTERY_INFO: case MSG_STATUSBAR_UI_TOP_UPDATE_NOTIFY_EVENT: { clear_and_refresh_top_icon(); break; } case OBC_MSG_NFC_ADAPTER_STATE_CHANGED: { if (OPPO_WORK_MODE_BAND == g_sbar->mode) { read_and_refresh_btn(STATUS_ICON_ID_NFC); clear_and_refresh_top_icon(); } break; } case OBC_MSG_SET_BT_PHONE_LINK_CHANGE: { read_and_refresh_btn(STATUS_ICON_ID_BT_PHONE); break; } case OBC_MSG_HFP_CONNECT_STATE: case MSG_BLE_ANCS_STATUS_UPDATE: case MSG_NOTIFY_OAF_CONNECTION_STATUS: case OBC_MSG_NOTIFY_SECOND_OAF_CONNECTION_STATUS: { if (OPPO_WORK_MODE_BAND == g_sbar->mode) { clear_and_refresh_top_icon(); read_and_refresh_btn(STATUS_ICON_ID_FIND_PHONE); } break; } case MSG_FROM_MCU_SET_OFF_AUTO_BACKLIGHT_SWITCH: { if (OPPO_WORK_MODE_BAND == g_sbar->mode) { if (NULL == data) { return; } uint8_t auto_backlight = *((uint8_t *)data); if (1 == auto_backlight) { // auto backlight open read_and_refresh_btn(STATUS_ICON_ID_BRIGHT); } } break; } case MSG_LCD_BRIGHTNESS_CHANGE: { if (OPPO_WORK_MODE_BAND == g_sbar->mode) { uint8_t auto_backlight = 0; oppo_provider_read_switch(SWITCH_CMD_OPPO_CMD_AUTO_BACKLIGHT_SWITCH, &auto_backlight); if (0 == auto_backlight) { // auto backlight close read_and_refresh_btn(STATUS_ICON_ID_BRIGHT); } } break; } default: { if (OPPO_WORK_MODE_BAND == g_sbar->mode) { for(int i = 0; i < ARRAY_COUNTOF(g_sbar_icon_id_map); i++) { if (msg_id == g_sbar_icon_id_map[i].msg_id) { read_and_refresh_btn(g_sbar_icon_id_map[i].icon_id); break; } } } } break; } } 概述一下这个函数
最新发布
07-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值