문자열은 일련의 문자입니다.
문자별 문자열 액세스 및 수정
$str[42]와 같이 대괄호를 사용하여 문자열 뒤에 원하는 문자의 0부터 시작하는 오프셋을 지정하여 문자열 내의 문자에 액세스하고 수정할 수 있습니다. 이 목적을 위해서는 문자열을 문자 배열로 생각하십시오.
참고: $str{42}와 같이 같은 목적으로 중괄호를 사용하여 문자열에 액세스할 수도 있습니다. 그러나 이 구문은 PHP 5.3.0부터 더 이상 사용되지 않습니다. 대신 $str[42]와 같이 대괄호를 사용하세요.
경고
범위를 벗어난 오프셋에 쓰면 문자열이 공백으로 채워집니다. 정수가 아닌 유형은 정수로 변환됩니다. 잘못된 오프셋 유형은 E_NOTICE를 발생시킵니다. 음수 오프셋은 쓰기 시 E_NOTICE를 내보내지만 빈 문자열을 읽습니다. 할당된 문자열의 첫 번째 문자만 사용됩니다. 빈 문자열을 할당하면 NUL 바이트가 할당됩니다.
以上道是 php manual 中的原话.
需要注의료한 时候,我们访问数组的时候 tour是使用方括号"[]",string작성일 个也可以使사용操작符" []”자동차 운전 。但是,需要注 의의있는 一点就是,访问字符串时候,操作符“[]”中的内容会被转化为int类型的.
예 : $str = '123456';
echo $str['php'];//结果是1, 因为offset 'php'转化为integer为0,既是访问的是字符串的第一个字符.
var_dump(isset($str['php']));//结果是bool(true) 원본과 동일합니다.判断试下,传递过来的变weight是否是数组,然后再判断是否是存在指定的key
예 : //如果需要判断传递过来的数组是否存재'php'这个key时候,比较안전한보안법为:
复제대码 代码如下:
function is_set($arr, $key){
if (is_array($arr) ) && isset($arr[$key])) {
//存재该值的逻辑
} else{
//$arr不是数组 或者 数组$arr不存재key $key的逻辑
}
}