JavaScript、PHP、Python三种语言

一、变量

1.JavaScript

var A = 1;
var B = 'str';

2.Python

a = 123
b = 'str'

3.PHP

$a = 123;
$b = 'str';

二、字符串

1、字符串合并操作:“ + ”
2、parseInt() 将数字字符串转化为整数
3、parseFloat() 将数字字符串转化为小数
4、split() 把一个字符串分隔成字符串组成的数组
5、charAt() 获取字符串中的某一个字符
6、indexOf() 查找字符串是否含有某字符
7、substring() 截取字符串 用法: substring(start,end)(不包括end)
8、toUpperCase() 字符串转大写
9、toLowerCase() 字符串转小写
# 字符串 为不可变
len(mystr) # 算出字符串长度
mystr.find(str, [start, end]) # 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.rfind(str, [start, end]) # 类似find,从右边
mystr.index(str, [start, end]) # 如find方法一样,只不过如果str不在,mystr会报一个异常.
mystr.rindex(str, [start, end]) # 类似index,从右边
mystr.count(str, [start, end])# 返回 str在start和end之间 在 mystr里面出现的次数
mystr.replace(str1, str2,  mystr.count(str1))# 把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
mystr.split(str=" ",[maxsplit=2])# 以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串,返回结果列表
mystr.splitlines()# 类似split(r'\n'),返回列表
mystr.capitalize()# 把字符串第一个字母变成大写,假设mystr='aa bb cc' ==> 'Aa bb cc'
mystr.title()# 把字符串首字母变成大写,假设mystr='aa bb cc' ==> 'Aa Bb Cc'
mystr.startswith('str')# 检查字符串是否是以 str 开头, 是则返回 True,否则返回 False
mystr.endswith('str')# 检查字符串是否是以 str 结尾, 是则返回 True,否则返回 False
mystr.lower() # 把mystr中所有大写字母转化成小写
mystr.upper() # 把mystr中所有大写字母转化成大写
mystr.ljust(width) # 规定mystr长度,不够以空格不齐,够的话原字符串输出。若mystr='test1',width=6 ==> 'test1 ';  若width=2 ==> 'test1'
mystr.rjust(width) # 与ljust相反
mystr.center(width) # 与ljust类似,不过它是居中,两边以空格补齐
mystr.lstrip() # 删除 mystr 左边的空白字符
mystr.rstrip() # 删除 mystr 字符串末尾的空白字符
mystr.strip() # 删除mystr字符串两端的空白字符
mystr.partition(str) # 把mystr以str分割成三部分,str前,str和str后,返回长度为3的元组
mystr.isalpha() # 如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isdigit() # 如果 mystr 只包含数字则返回 True 否则返回 False.
mystr.isalnum() # 如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isspace() # 如果 mystr 中只包含空格,则返回 True,否则返回 False.
mystr.join() # 把列表里的每个字符串一mystr作为分隔符连接,构造出新的一句字符串
字符串操作可使用运算,
+       'a'+'b' ==> 'ab'
*       'a'*3 ==> 'aaa'
[:]     'abcd'[:3] ==> 'abc' 
in      'a' in 'abcd' ==> True
not in  'e' not in 'abcd' ==> True
strlen($str);//返回字符串长度 mb_strlen($str) 可以返回中文字符长度; 类似python len()
strtolower($str);//字母转小写  类似lowwer()
strtoupper($str);//字母转大写  类似upper()
ucwords($str);//每一个单词的首字母转大写  类似title()
ucfirst($str);//首字母转大写  类似 capitalize()
str_replace('a','b',$str);//b替换$str 中的a 区分大小写; replace()
str_ireplace('a','b',$str);//替换 不区分大小写 
htmlspecialchars($str,ENT_NOQUOTES);
//字符串转换为html 实体 ENT_COMPT(默认只编译双引号)ENT_QUOTES单引号双引号都编译,ENT_NOQUOTES不编译任何引号
trim($str);//删除字符串前后(左右)空格
ltrim($str);//只删除字符串左侧的空格
rtrim($str);//只删除字符串右侧的空格
//trim加第二个参数 就是移除指定的字符集 如ltrim($str,'0..9') 移除左侧数字开头的字符
strpos($str,'a’);//字符串a 在$str 第一次出现的位置 索引0开始 没有出现返回false 区分大小写  类似find
stripos($str,'a’);//同上 但是不区分大小写
strrpos($str,'a’);//字符串a 在$str 最后一次出现的位置 索引0开始 没有出现返回false 区分大小写
strripos($str,'a’);//同上 但是不区分大小写
substr($str,0,3);//截取字符串 $str 的第一个字符 截取长度3 长度不填默认截取到最后  参数为负数则倒数 类似[0:3]
strstr($str,'a');//截取字符串 $str 中的第一个字符'a'后的字符串 如 sabc -> abc
strrchr($str,'a');//截取字符串 $str 中最后一一个字符'a'后的字符串
strrev($str);//字符串反转 abcd->dcba  类似[::-1]
md5($str);//字符串MD5加密
str_shuffle($str);//随机打乱字符串顺序
explode('-',$str);//指定分隔符分割字符串 返回数组 ‘-’ 分割$str  类似split
implode('-',$str);//数组拼接字符串 与explode()相反  类似 join

三、列表,索引数组

# 列表增、删、改、查、排序
list.append() # 在列表尾部增加元素
list.extend() # 跟append()类似,只不过extend会把可变变量循环输入到list,假设list=[0,1],list.extend({2,3,4}) ==> list=[0,1,2,3,4], 若list.append({2,3,4}) ==> list=[0,1,{2,3,4}]
list.insert(index, var) # 指定位置index 插入var

del list[index] # 根据下标index 删除
list.pop() # 删除最后一个元素
list.remove() # 根据元素值删除

list[index] # 通过下标index 修改

var in list # 判断var是否在list,存在则True,否则False
var not in list # 相反
list.index(var, [start, end]) # 跟字符串类似,会报异常
list.count(var)==0 # 等于零不存在,大于零则存在

list.sort(reverse=False) # 默认升序
list.reverse() # 反转,逆置,不进行排序

四、字典、关联数组

# 增、删、改、查、排序
dict['key'] = data # 若key不存在,则新增,存在,则修改

del dict # 删除字典
dict.clear() # 清空字典

value = dict['key'] # 查询

len(dict) # 查询 键值对个数
dict.keys() # 返回 key列表
dict.values() # 返回 value列表
dict.items() # 返回一个包含所有(key, value)元组列表
dict.has_key(key) # 判断key是否在dict的kyes中
// for循环 Python字典 <==> PHP关联数组 associative_array

// 创建 空关联数组 $_associative_array_one: {}[]
$_associative_array_one = array();

// 创建 关联数组 相同键名则替换
$_associative_array_two = array('a'=>3,'1'=>2,'2'=>2,'a'=>4);

// 删除 关联数组
unset($_associative_array_one);

// 判断 当前数组 是否是 关联数组
// 关联数组 和 索引数组 的区别 在于 索引数组的索引key值为[0,1,2,3,...]
// 偶尔 会有突发情况 比如索引值缺失、索引值数字字符串 这方法也就不行
function _is_associative_array($_array){
    print_r(array_keys($_array));
    print_r(range(0, sizeof($_array)-1));
    return array_keys($_array) !== range(0, sizeof($_array));
}



// 增删改查 关联数组

// 尾部增加 关联数组 若数组不存在,则自动创建再进行尾部添加 $_associative_array_one: {a=>1, 3=>3, 2=>2}[3]
$_associative_array_one['a'] = 1;
$_associative_array_one['3'] = 3;
$_associative_array_one['2'] = 2;
// 头部增加 关联数组 $_associative_array_one: {1=>0, a=>1, 3=>3, 2=>2}[4]
//array_unshift($_associative_array_one, 0); // 只能添加值
$_associative_array_one = array('1'=>0) + $_associative_array_one;

// 尾部删除 关联数组 $_associative_array_one: {1=>0, a=>1, 3=>3}[3]
array_pop($_associative_array_one);
// 头部删除 关联数组 好像没看见这函数

// 按key 修改 关联数组 整形字符串索引会自动改成整形索引 $_associative_array_one: {1=>8, a=>1, 3=>3}[3]
$_associative_array_one[1] = 8;

// foreach循环遍历 查看数组
/*
key: 1    value: 8
key: a    value: 1
key: 3    value: 3
*/
foreach ($_associative_array_one as $key=>$value){
    echo 'key: '.$key.'    value: '.$value.PHP_EOL;
}

// array_keys(array, [value, true/false])
// 按value搜索key 若value为空,则返回所有key
// 否则只返回该值的key $key_array: {1, "a", 3}[3]
$key_array = array_keys($_associative_array_one);

// array_values(array)
// 返回 关联数组 value数组 $value_array: {8, 1, 3}[3]
$value_array = array_values($_associative_array_one);

// 数组排序
// 注意:ksort,krsort,asort,arsort都是直接对数组进行排序,不会返回新数组,只会返回是否成功true/false

// ksort(array, [sortingtype=0])
// sortingtype(排序模式): 有五种
// 0 = SORT_REGULAR ==> 把每一项按常规顺序排列(Standard ASCII,不改变类型)
// 1 = SORT_NUMERIC ==> 先字母排序,再数字排序
// 2 = SORT_STRING ==> 先数字排序,再字母排序。
// 3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
// 4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
// 5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
// 关联数组 key排序 $_associative_array_one: {a=>1,1=>8, 3=>3}[3]
// 这里我就有点看不懂,不是说好按ASCII码排序,a不是应该在后面?
$key_sort = ksort($_associative_array_one);
// 关联数组 key逆排序 $_associative_array_one: {3=>3, 1=>8, a=>1}[3]
$key_r_sort = krsort($_associative_array_one);
// 关联数组 value排序 _associative_array_one: {a=>1, 3=>3, 1=>8}[3]
$value_sort = asort($_associative_array_one);
// 关联数组 value逆排序 _associative_array_one: {1=>8, 3=>3, a=>1}[3]
$value_r_sort = arsort($_associative_array_one);

// array_column(array, [column_key, index_key])
// 根据column_key和index_key向多维数组 搜索出 相对应的数组 组合成{index:column,index:column}新关联数组
// 如果 只有column_key 有值 输出 索引数组
$two_array = array(
    array(
        'id' => 5698,
        'first_name' => 'Bill',
        'last_name' => 'Gates',
    ),
    array(
        'id' => 4767,
        'first_name' => 'Steve',
        'last_name' => 'Jobs',
    ),
  array(
      'id' => 3809,
      'first_name' => 'Mark',
      'last_name' => 'Zuckerberg',
  ),
);
// $_associative_array_three: {5698=>"Bill", 4767=>"Steve", 3809=>"Mark"}[3]
$_associative_array_three = array_column($two_array,'first_name', 'id');

// array_chunk(array, size, [preserve_keys=false])
// 按size个元素, 对一维关联数组进行分割,然后组装成新的二维关联数组
// 若preserve_keys=false key便从零开始重新索引
// 若preserve_keys=true 保留key索引
// $_associative_array_four: {{1=>8, 3=>3}[2], {a=>1}[1]}[3]
$_associative_array_four = array_chunk($_associative_array_one, 2);

猜你喜欢

转载自blog.csdn.net/xwx_100/article/details/82733761