실제 개발에서 겪게 되는 문제점: 배열의 각 요소를 가변 매개변수 함수의 실제 매개변수로 어떻게 전달하나요?
배열 결과 집합인 MySQL에서 여러 데이터 조각이 발견되었습니다. 예: ['张三','李四', 'foo', 'bar']
;
결과 세트는 Redis
의 SET
유형으로 작성되어야 합니다.
Redis의 PHP 작업 클래스 라이브러리는 sAdd()
메서드를 제공합니다. 다음과 같습니다:
사용 예:
$redis->sAdd('key1' , 'member1'); /* 1, 'key1' => {'member1'} */ $redis->sAdd('key1' , 'member2', 'member3'); /* 2, 'key1' => {'member1', 'member2', 'member3'}*/ $redis->sAdd('key1' , 'member2'); /* 0, 'key1' => {'member1', 'member2', 'member3'}*/
sAdd()
은 가변 매개변수 방법이므로 질문은 다음과 같습니다.
위의 ['张三','李四', 'foo', 'bar']
다음과 같이 루프에서 사용하는 대신$redis->sAdd('key1' , '张三', '李四', 'foo', 'bar');
다음과 같이 사용하세요.
$redis->multi(); foreach(['张三','李四', 'foo', 'bar'] as $value) { $redis->sAdd('key1', $value); } $redis->exec();
실제 개발 문제 발생: 각 전달 방법 가변 매개변수 함수의 실제 매개변수로 배열의 요소를 사용합니까?
배열 결과 세트인 MySQL에서 여러 데이터 조각이 발견되었습니다. 예: ['张三','李四', 'foo', 'bar']
;
Redis
SET
메소드를 제공합니다. 🎜>sAdd()
$redis->sAdd('key1' , 'member1'); /* 1, 'key1' => {'member1'} */ $redis->sAdd('key1' , 'member2', 'member3'); /* 2, 'key1' => {'member1', 'member2', 'member3'}*/ $redis->sAdd('key1' , 'member2'); /* 0, 'key1' => {'member1', 'member2', 'member3'}*/
위의 sAdd()
을 어떻게 사용할 수 있습니까?
대신 다음 루프를 사용하세요: ['张三','李四', 'foo', 'bar']
$redis->sAdd('key1' , '张三', '李四', 'foo', 'bar');
$redis->multi(); foreach(['张三','李四', 'foo', 'bar'] as $value) { $redis->sAdd('key1', $value); } $redis->exec();
call_user_func_array $redis->multi();foreach(['张三','李四', 'foo', 'bar'] as $key=>$value) { $redis->sAdd('key'.$key, $value); }$redis->exec();
관련 기사:
php 변수 매개변수변수 매개변수를 함수에 전달할 때 JS와 PHP의 차이점을 보여주는 코드 예시php 가변 매개변수 구현