html 属性中嵌套php,如何在PHP中使用嵌套数组创建HTML数据属性字符串?
这可以通过一些简单的概念来实现,例如loop,
递归函数和静态变量。
静态变量的使用在这里非常重要,因为它们记住了函数最后一次调用中的最后修改值。
在循环中,我们检查当前遍历的值是否为数组。
如果它是一个数组,我们用当前键修改前缀并调用递归函数和。
如果没有,我们只是简单地将前缀与当前密钥连接起来。
试试这个:
$data = ['title' => 'Title', 'ajax' => ['url' => '/ajax/url', 'timeout' => 10, 'params' => ['param-1' => 'Param 1']]];
function formatter($data = array()) {
static $prefix = 'data-';
static $attr_string = '';
foreach($data as $key => $value) {
if (is_array($value)) {
$prefix .= $key.'--';
formatter($value);
} else {
$attr_string .= $prefix.$key.'="'.$value.'" ';
}
}
return $attr_string;
}
echo formatter($data);
输出:
data-title="Title" data-ajax--url="/ajax/url" data-ajax--timeout="10" data-ajax--params--param-1="Param 1"
html 属性中嵌套php,如何在PHP中使用嵌套数组创建HTML数据属性字符串?相关推荐
- html网页制作嵌套列表,如何在HTML中制作列表标记,以及实现列表嵌套
匿名用户 1级 2016-10-30 回答 方法/步骤 1 无序列表 无序列表中每一个表项的前面是项目符号(如■ . ● 等). 建立无序列表使用 标记和 表项标记.格式为: 第一个列表项 第二个列表 ...
- python try 嵌套_exception:如何在Python中安全地创建嵌套目录?
检查要写入文件的目录是否存在的最优雅方法是什么,如果不存在,则使用Python创建目录?以下是我的尝试: import os file_path ="/my/directory/filena ...
- react 中渲染html_如何在React中识别和解决浪费的渲染
react 中渲染html by Nayeem Reza 通过Nayeem Reza 如何在React中识别和解决浪费的渲染 (How to identify and resolve wasted r ...
- docker中使用git_如何在 Docker 中使用 Docker
1. 典型适用场景 在 CI 中,通常会有一个 CI Engine 负责解析流程,控制整个构建过程,而将真正的构建交给 Agent 去完成.例如,Jenkins .GitLab 均是如此. 如下图, ...
- ppt中加入html,如何在ppt中插入html网页.ppt
如何在ppt中插入html网页 如何在PPT中插入html网页 来自 晓冬 痕迹 -- 在演示ppt的时候,如果能直接调用设计精美的html页面,将会让你的演示锦上添花,此处介绍一种使用控件将网页插入 ...
- typescript中函数_如何在TypeScript中合成Canvas动画
typescript中函数 by Changhui Xu 徐昌辉 如何在TypeScript中合成Canvas动画 (How to Compose Canvas Animations in TypeS ...
- 在oracle中使用存储过程,如何在ORACLE中使用JAVA存储过程(详解)
如何在Oracle中使用Java存储过程 (详解) 一.如何缔造java存储过程? 通常有三种步骤来缔造java存储过程. 1.使用oracle的sql语句来缔造: e.g.使用create or r ...
- html中加入echarts,如何在react中使用echarts
如何在react中echarts 1.安装echarts包npm install echarts --save 2.react使用echartsconst echarts = require('ech ...
- wps启用编辑按钮在哪里_如何在wps工具栏中添加按钮 如何在Excel中添加删除命令按钮...
延伸:如何在Excel中添加删除命令按钮 描述:在Excel 2003中,很多常用的命令按钮都放置在工具栏中,用户可以很方便地进行操作.添加命令主要是通过拖动的方式完成的,其具体的操作如下:骤一,在视 ...
最新文章
- layui 横向表单_对layui中表单元素的使用详解
- antd的table进行列筛选时,更新dataSource,为什么table显示暂无数据?
- C# 两个类之间传递数据
- 计算机专业和机电专业的区别,12届计算机专业和机电专业.doc
- (译)如何优化cocos2d程序的内存使用和程序大小:第一部分
- 认知无线电网络的简单介绍
- python实现银行ATM系统
- 看图写英语作文关于计算机,终于懂了看图写英语作文模板
- 开始学习机器学习之前你必须要了解的知识有哪些?机器学习系列入门篇
- c语言找adc最小值,STC12C5A60S2 AD转换C语言示例程序(ADC查询方式)
- 利用Photoshop制作二寸照片
- 不是python文件打开的合法模式组合是_以下选项中,不是Python文件打开的合法模式组合是:...
- 中南大学计算机学院楠,中南比湖大更湖大,不对,应该说湖大没中南大学中南。...
- C++一步解决cls闪烁问题
- zookeeper指北
- yarn下载报错There appears to be trouble with your network connection. Retrying.
- No installations recognized 以及 nvm use切换node版本无效的解决办法
- win7触摸板怎么关闭_笔记本fn键失灵怎么办?
- table 点击文字按钮预览图片
- 大小不一样的图片随着盒子大小自适应
热门文章
- My task - how is inline creation implemented
- Angular Table test
- SAP工程师对Spark的尝试
- IPRO_DOCXCC_EXTRACT_PARTBODY
- SAP ABAP实用技巧介绍系列之 XSLT copy和copy-of
- Service OS maintain ( Reference Object )
- add to -append Backend implementation
- SAP UI5对于颜色使用的最佳实践
- 通过一个实际例子学习SAP UI5的控件绘制和渲染
- Chrome浏览器扩展程序的本地备份