John Davidson

php - Range by using array of booleans

0 comments
Message:


hey guys I'm working a the range function for grades in the existing system that was already built,
the grades are stored as an array of booleans so for example:


[true, true, true, true, true, true, false, false, false...]

grade number is element + 1


I want to create a range function based on this array so, for example, this array the range is grade 1-6, any idea what is the most efficient way to do such thing, was thinking about running with loop and stoping the range when value is false, but maybe there is a better way.



My Answer:
One efficient way to create a range based on an array of booleans is to use the array_filter function in PHP. Here's an example code snippet:

php
$grades = [true, true, true, true, true, true, false, false, false];

// Find the first and last true values in the array
$firstGrade = array_search(true, $grades) + 1;
$lastGrade = array_search(false, $grades) ?: count($grades);

// Create a range of grades
$gradeRange = range($firstGrade, $lastGrade);

print_r($gradeRange);


This code snippet will output:

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)


This way, you can efficiently create a range of grades based on the array of booleans.

Rate this post

3 of 5 based on 5801 votes

Comments




© 2024 Hayatsk.info - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us